*   >> Чтение Образование Статьи >> science >> programming

Еще Регулярные выражения в Perl

[0], "\\ п"; печать $ обр [1], "\\ п"; ИС выход выше коде: один два Вывод состоит из слов, "один" и "два". Эти элементы, захваченные и сохраненные в массиве,arr. Вы не можете захватить каждую группу. Если вы не хотите, чтобы захватить группу, предшествовать содержание группы с ":". Для предотвращения группу "(один)" выше от захвата, вы должны "(?: Один)" для группы. Группа по-прежнему остается в силе в модели с другой его преимущества, но не учитываются. Следующий код иллюстрирует это: использовать строгий; мойarr = ("Это один и два." = ~ /(?:one).

*(two)/); печать $ обр [0], "\\ п"; печать $ обр [1], "\\ п"; Выход код: двое Мы предотвратили первую группу "(один)" от захвата превращая его в "(?: Один)". С выхода, мы видим, что "один" из имеющихся строки не были захвачены, как мы ожидали. "два" был захвачен, и это единственный элемент в массиве. Чтобы сделать группе без захвата, используйте следующий синтаксис: (?: GroupContent), включая модификаторы Номера захвата групп мы видели, как вы можете вставлять в модификаторов регулярного выражения. Вы можете включить модификатор в не-захвата группы. Есть два способа сделать это.

Допустим, вы хотите, чтобы включить модификатор, я в не-захвата подгруппы "(?) Один" выше. Вы можете сделать это следующим образом: один) следующее выражение производит матч (:( я?): ". Это одно и то два" = ~ /(?:(?i)one).*(two)/Вы можете использовать следующий код, чтобы тест: используйте строгое; если (". Это одно и то два" = ~ /(?:(?i)one).*(two)/) {печати "Согласованные \\ п"; } Еще {печать "не согласованный \\ п"; } Модификаторы в группах Мы сказали, что положить модификатор в регулярном выражении такой же как имеющий модификатор только в конце регулярного выражения.

Вопрос, который вы, возможно, придется это:.. "Если модификатор находится в группе, будет ли это иметь свой эффект только в группе или в целом регулярное выражение Давайте просто написать четыре коротких скриптов для проверки того, что это первый: используйте строгое , если (". Это одно и то два" = ~ /((?i)one).*(two)/) {печати "Согласованные \\ п";} еще {печать "не согласованный \\ п";} Регулярное выражение выше "/((?i)one).*(two)/". Отметим, что в имеющейся строке, "ОДИН" в верхнем регистре. Согласование происходит в коде выше. Здесь мы имеем дело с захвата .

Группа Рассмотрим следующий код еще с захвата группы: используйте строгое, если (". Это одно и то есть два" = ~ /((?i)one).*(two)/) {печати "Согласованные \\ п ";} еще {печать" не согласованный \\ п ";} Регулярно

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.