Различия между типами регулярных выражений - PullRequest
12 голосов
/ 27 декабря 2011

Я читаю справочную страницу GNU find и натыкаюсь на этот переключатель:

-regextype type
          Changes the regular  expression  syntax  understood  by  -regex  and
          -iregex  tests  which  occur  later on the command line.  Currently-
          implemented types are emacs (this is the default), posix-awk, posix-
          basic, posix-egrep and posix-extended.

В чем разница между этими синтаксисами регулярных выражений? Я более знаком с регулярным выражением Руби, так какой тип регулярного выражения следует использовать с find?

1 Ответ

5 голосов
/ 27 декабря 2011

Регулярные выражения реализованы многими способами.Расширенные выражения POSIX знают те же метасимволы, что и базовые выражения POSIX, но с некоторыми дополнениями, как вы можете видеть на этой странице .

В некоторых случаях может потребоваться использовать определенный метасимвол, известный одной из этих реализаций, и вы можете использовать эту опцию, чтобы сообщить find, какой из них вы используете.Если вам нужно только более простое выражение, posix-basic будет достаточно.

Также вы можете просто предпочесть тип RegEx, к которому вы привыкли, и find может его интерпретироватьправильно.

Как уже упоминалось в fge, используйте этот сайт , чтобы узнать больше о различиях синтаксики RegEx.

...