Элементарное значение RegEx: "(/.*)?"

Я пытаюсь определить каждый элемент этого регулярного выражения: "(/.*)?"

== вот чему я научился сам:

() == группируя регекс вместе

/ == ???

. == равно любому одному символу

* == равно нулю или более предыдущему символу (в данном случае, был бы предыдущий символ ". "?)

?== равным нулю или одному из предшествующих символов (возможно что угодно/все, представленное (/.*) правильно?)

== Могу я получить помощь в заполнении пробелов? Например: Что означает "/" в этом контексте?

0
задан 8 March 2021 в 00:08

1 ответ

Прежде всего, есть несколько разных ароматов регулярных выражений; Простой GREP , расширенный Exep , Perl-подобный; И, вероятно, больше. Они тонко отличаются; Он начинается с группировки, как (Foo | Bar | Baz) , который чистый GREP не поддерживает, но EgeP и Perl DO.

В вашем конкретном примере вы правильно расшифруете детали. / буквально является прямой слепой без какого-либо особого значения. Если бы это была обратная косание \ , он сберет следующий символ, то есть, если он имеет особое значение в том контексте, это проиграло бы, это особое значение: \. означает «буквальный период», а не «любой характер».

И вот улов с различными вариантами: вам нужно знать, какой актуален в вашем контексте. Если это расширенные регулярные выражения , , ( и действительно означает группировку, если это простые регулярные выражения (GREP), это буквальные скобки.

Все книги были написаны по теме, и в Интернете есть много учебных пособий. Возможно, вы захотите начать с MAN GREP , а затем работать на пути вперед.

Многие экзотические части регулярного выражения очень редко нужны; Вы можете в основном получать с основы и посмотреть больше тайных вещей, когда они нуждаются в них (или когда вам нужно иметь смысл кого-то другого кода).

1
ответ дан 18 March 2021 в 23:28

Другие вопросы по тегам:

Похожие вопросы: