Если бы не было ни одного совпадения в первой позиции, Perl будет двигаться на вторую позицию символа '2' и попытаться матч снова и снова. Perl дает и заявляет "12345" = ~ /(124 | 123) (46 | 4 | 45) /, чтобы быть ложным, только тогда, когда все возможные пути на всех возможных позициях символов были исчерпаны. Х Модификатор Подробнее Этот модификатор установлен, поставив х (в нижнем регистре) в непосредственной близости от второго косой черты регулярного выражения.
То есть: /картины /х символов данных Wwhitespace в шаблоне полностью игнорируются, когда бежал за исключением или внутри класса символов, когда этот модификатор установлен. Когда этот модификатор установлен, символы между неизолированную # вне класса символов и следующий \\ п характер, включительно, также игнорируются. Я проиллюстрирую это все. Это говорит пробельные символы в шаблоне полностью игнорируются, когда бежал за исключением или внутри класса символов. Рассмотрим доступные строку: $ availableString = "Я мужчина, садясь."; Следующие два выражения с модификатором х не производит матч.
$ availableString = ~ /человек садясь /х Это потому, что в регулярном выражении, одиночные-пространства между "человеком" и "сидя" и "сидя" и "вниз" не признаются, с наличием х модификатора. Если вы удалите эти соответствующие пространства в доступной строке у вас будет матч, с х модификатора. Ниже можно строка будет производить матч с выше регулярное выражение: $ availableString = "Я mansittingdown."; Если вы хотите оригинальный доступную строку и регулярное выражение, чтобы соответствовать, то у вас есть, чтобы избежать пробелов в регулярном выражении.
Следующее выражение производит матч с оригинальным доступной строки: $ availableString = ~ /мужчина \\ заседании \\ вниз /х Беглый единое пространство является "\\". Давайте теперь поговорим о пробелом в классе символов. Обратите внимание, что пробелы на самом деле [\\ \\ т \\ г \\ п \\