Javascript RegExp токенизация - PullRequest
       0

Javascript RegExp токенизация

0 голосов
/ 16 января 2012

Учитывая строку, я хочу использовать регулярное выражение для ее токенизации.Шаблон выглядит следующим образом: любой символ (включая новую строку и т. Д.), До «<», затем пробел ноль или более раз, а затем «%».Я пытался </p>

var patt = /(.)*<(\s)*%/;

, но это не дает желаемого результата.Буду признателен за объяснение вместе с шаблоном.

Ответы [ 2 ]

0 голосов
/ 16 января 2012
/^[\s\S]*?< *%/

должен делать то, что вы хотите.

^ заставляет его совпадать в начале строки.

[\s\S] соответствует любому символу.Буквально, это означает любой пробел или непробельный символ, и обходит тот факт, что . не соответствует символу новой строки.

*? соответствует нулю или больше, но наименьшее количество, необходимое для остальной части шаблона, чтобыmatch.

< соответствует литералу '< '

* (обратите внимание на пробел) соответствует нулю или большему количеству пробелов.Это более читабельно, если записано как [ ]*.

%, наконец, соответствует этому символу.

Если вы хотите сопоставить всю строку (т.е. % должен быть последним символомв строке), тогда вы можете поставить $ перед последним /.

0 голосов
/ 16 января 2012

Используйте это:

"some string".split(/.*<\s*%/);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...