Я не могу найти официальную ссылку для правил приоритета для Perl regular expressions. Я могу найти только Know the precedence of regular expression operators. Однако это не официальная ссылка, указанная perldoc.Каковы правила приоритета регулярных выражений Perl?
ответ
Регулярные выражения содержат только два бинарных оператора, один из которых неявный, а не обозначенный символом. Регулярные выражения также имеют ряд унарных операторов, но их приоритет является спорным из-за ограничений на их операнды. Это говорит о том, что приоритет действительно странный.
Это проще передать информацию, которую вы ищете, используя следующие операторы:
- Кванторы изменить один атом.
- Модификаторы квантификаторов изменяют один квантификатор.
- Чередование без ограничений, за исключением парен, в котором они проживают.
Вышеуказанная информация передается так или иначе в perlretut.
При этом можно построить таблицу приоритетов. Поскольку приведенные выше утверждения передают всю необходимую информацию, из них можно построить таблицу приоритетов. Это следующее:
- атомов (например
a
,\n
,\^
,.
,^
,\w
,[...]
,\1
,(...)
) - Постфикс Унарный операторы (квантификаторы и модификаторы кванторные)
- Неявные «, а затем по "оператору между (возможно, количественно) атомами
- Чередование
Это соответствует диаграмме на странице, на которую вы ссылались.
Для удовольствия, нижеприведенный быть BNF:
pattern ::= <alternation>
alternation ::= <sequence> <alternation2>
alternation2 ::= "|" <alternation> | ""
sequence ::= <quantified_atom> <sequence> | ""
quantified_atom ::= <atom> <quantified_atom2>
quantified_atom2 ::= <modified_quantifier> | ""
modified_quantifier ::= <quantifier> <modified_quantifier2>
modified_quantifier2 ::= <quantifier_modifier> | ""
Вам не нужно было, это было здорово уже :) – Aaron
- 1. Группирование регулярных выражений Perl
- 2. Perl регулярных выражений объяснения
- 3. Правила двигателей регулярных выражений. Жадность, рвение и леность регулярных выражений
- 4. Согласование регулярных выражений в perl
- 5. Группа захвата регулярных выражений Perl
- 6. классы символов регулярных выражений perl
- 7. Perl выражение соответствия регулярных выражений
- 8. Соответствие соответствия регулярных выражений perl
- 9. Присоединения 2 правила регулярных выражений в один
- 10. Maven - правила синтаксиса регулярных выражений файлов/исключений
- 11. mod_rewrite правила с использованием регулярных выражений Дата
- 12. Каковы правила синтаксического анализа выражений в C?
- 13. Каковы значения этих регулярных выражений в JavaScript?
- 14. Каковы правила приоритета при выборе неявного использования для функции CanBuildFrom
- 15. Правила приоритета CSS-селектора
- 16. Perl: Соответствие регулярных выражений не увенчалось
- 17. Perl: Использование регулярных выражений с хэшами
- 18. Разложение регулярных выражений Perl с вложенными запятыми
- 19. Как вызывается диалект/реализация регулярных выражений Perl?
- 20. Perl функции регулярных выражений тра в PHP
- 21. Использование Perl-регулярных выражений в VB.Net?
- 22. смысла следующих регулярных выражений, написанных на Perl
- 23. Преобразование регулярных выражений perl в python
- 24. Perl: вернуть ВСЕ экземпляры регулярных выражений
- 25. Сохранение регулярных выражений соответствует массиву в Perl
- 26. несколько регулярных выражений с использованием perl
- 27. Perl: Количество совпадений и регулярных выражений
- 28. perl regex: застрял в захвате регулярных выражений
- 29. отсутствует последний символ в PERL регулярных выражений
- 30. Соответствие регулярных выражений скалярами в perl
perlre содержит раздел * Версии 8 Регулярные выражения *, которая предоставляет словесное описание шаблона регулярного выражения сопоставления механизмов. – laune
@laune, я только что просмотрел _Version 8 Regular Expressions_. Но я не могу найти ничего, что имеет отношение к приоритету. Не могли бы вы указать, как это имеет отношение к приоритету? –
Я думаю, что этот текст разъясняет проблему, но вам, возможно, придется прочитать (немного) между строками. Во всяком случае, никогда не было сомнений в приоритете круглых скобок, квантификаторов, сопоставлений и альтернатив в любой из регулярных систем (ранних) * nix-утилит, awk, Perl4, Perl5, Java, XML Schema и многих других. - Что тебя беспокоит?? – laune