I found this “[\\?&]v=([^&#]*)” on the internet can someone explain it to me

Для составных типов можно рекурсивно преобразовать каждого, что Вы сталкиваетесь в собственную таблицу и затем пытаетесь управлять отношениями внешнего ключа.

можно также хотеть предварительно определить , который классы будут или не преобразовываться в таблицы. Что касается сложных данных, которые Вы хотите отраженный в базе данных, не чрезмерно увеличивая размер схемы, у Вас может быть одна или несколько таблиц для разных типов. Этот пример использует целых 4:

CREATE TABLE MiscTypes /* may have to include standard types as well */
 ( TypeID INT,
   TypeName VARCHAR(...)
 )

CREATE TABLE MiscProperties
 ( PropertyID INT,
   DeclaringTypeID INT, /* FK to MiscTypes */
   PropertyName VARCHAR(...),
   ValueTypeID INT /* FK to MiscTypes */
 )

CREATE TABLE MiscData
 (  ObjectID INT,
    TypeID  INT
 )

CREATE TABLE MiscValues
 ( ObjectID INT, /* FK to MiscData*/
   PropertyID INT,
   Value VARCHAR(...)
 )
6
задан bcat 19 November 2009 в 00:49
поделиться

2 ответа

Он использует регулярное выражение для извлечения идентификатора видео из полного URL. Это конкретное регулярное выражение разбивается следующим образом:

  1. [\\? &] - это класс символов. Он соответствует одному символу и или ? . (Знак вопроса является специальным символом в регулярных выражениях JavaScript, поэтому его необходимо экранировать, поставив перед ним обратную косую черту. Обратная косая черта - это специальный символ в строках JavaScript, поэтому он также должен экранироваться, следовательно, двойной обратная косая черта. Это довольно часто встречается в регулярных выражениях.)
  2. v = соответствует литеральной строке v = .
  3. ( начинает группу захвата, поэтому все до следующего ]) будет помещен в отдельную запись в возвращаемом массиве.
  4. [^ & #] * любое количество символов (включая ни одного) до тех пор, пока не будет найден & или # . Скобки указывают класс символов, как указано выше, а ^ инвертирует класс так, чтобы он включал все символы , кроме тех, которые перечислены перед конечной скобкой. * указывает, что предыдущий класс символов должен быть сопоставлен ноль или более раз.
  5. ) завершает группу захвата.

Предполагая, что сопоставление прошло успешно, ] results [0] содержит полный URL, а results [1] содержит содержимое первой группы захвата, то есть идентификатор видео.

11
ответ дан 9 December 2019 в 20:45
поделиться

Соответствует идентификатору видео в URL-адресе YouTube.

[\\? &] V = // находит первое? V = или & v = в строке запроса

([^ & #] *) // соответствует всему иначе до следующего & или #

Идентификатор видео сохраняется в результатах [1] (при условии совпадения)

1
ответ дан 9 December 2019 в 20:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: