2014-08-19 6 views
0

Следующая строка из примера кода, который будет извлекать данные из URL с помощью XPath:".Надеть" в Google Apps Script

= xpath.replace XPath ("/ html /", ""). заменить ("/ TBODY", "", "G");

(где XPath может быть что-то вроде: "/ HTML/тело/стол/TBODY/тр [1]/стол/TBODY/TD/TR/TD [2]/а";

Я не» т понять, почему второй «.Надеть» может иметь три значения? Что значит „г“ означает?

СОБРАННОЙ эквивалентно следующему?

XPATH = xpath.replace („/ html /“, "");

xpath = xpath.replace ("/ tbody", "", "g");

ответ

0

Если вы обратитесь к MDN documentation о методе replace, вы заметите, что синтаксис выглядит следующим образом: enter image description here

и описывают последний параметр, как показано ниже:

флаги: Примечание - Аргумент flags - это нестандартное расширение Mozilla. Строка, определяющая комбинацию флагов регулярных выражений. Использование параметра flags в методе String.replace является нестандартным. Вместо использования этого параметра используйте объект RegExp с соответствующими флагами. Значение этого параметра, если он используется должен быть строкой, состоящей из одного или более из следующих символов, чтобы повлиять на работу, как описано:

г: глобальный матч

я: игнорировать случай

м: матч по нескольким линиям

у: липкий

В своем коде вы используете g, что означает, что это глобальная замена, заменив каждое вхождение в строке. (Обратите внимание, что это нестандартно и что они рекомендуют использовать флаг в самом регулярном выражении, see doc here)

Я бы рекомендовал прочитать всю статью поскольку это очень ясно и помогает понять, что вы можете с этим сделать.

0

Это глобальный модификатор RegEx. Выполните глобальное соответствие (найдите все совпадения, а не остановитесь после первого совпадения). Все происшествия «/ tbody» будут заменены не только первым.

Смежные вопросы