Существует ли общее / стандартное подмножество регулярных выражений? - PullRequest
8 голосов
/ 27 апреля 2011

Отличаются ли «управляющие символы», используемые в регулярных выражениях, в разных реализациях синтаксических анализаторов регулярных выражений (например, регулярные выражения в Ruby, Java, C #, sed и т. Д.).

Например, в Ruby \D означает not a digit; это означает то же самое в Java, C # и sed? Я предполагаю, что я спрашиваю, есть ли "стандарт" для регулярных выражений, который поддерживается всеми синтаксическими анализаторами регулярных выражений?

Если нет, есть ли какое-то общее подмножество, которое нужно изучить и освоить (а затем изучить специфичные для синтаксического анализатора по мере их появления)?

Ответы [ 2 ]

8 голосов
/ 27 апреля 2011

См. Список основного синтаксиса на регулярные выражения.info .

И Сравнение различных "ароматов".

1 голос
/ 27 апреля 2011

Есть общее ядро, которое очень просто.Он соответствует регулярным выражениям, реализованным в оригинальных программных инструментах, таких как ed, grep, sed и awk.Это стоит изучить, потому что все остальные форматы являются надмножествами этого.

.        match any character
[abc]    match a, b, or c
[^abc]   match a character other than a, b, or c
[a-c]    match the range from a to c
^        match the begininning of the line
$        match the end of the line
*        match zero or more of the preceding character
\(...\)  group for use as a back-reference 

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...