Итак, я начал изучать regex , используя grep
и sed
в Linux, и я не понимаю, почему я должен сохранять фигурные скобки? Таким образом, сохранение означает экранирование символов для буквального совпадения с ними, но когда я набираю grep 'test{2}'
, оно будет совпадать только с test{2}
, а когда я печатаю 'test\{2\}'
, оно будет совпадать с testtest
. Это нормально, но почему обратный слеш имеет другое применение с другими модификаторами? Например, в случае .
(точка), когда я набираю test.
, он будет соответствовать любому тексту с тестом, за которым следуют любые символы. В этом случае нам нужен обратный слеш, чтобы интерпретировать его как символ. Поэтому, когда я использую это так: test\.
это будет соответствовать только test.
Итак, подведем итог: почему в случае {
обратная косая черта сохраняет фигурные скобки для интерпретации как символ, а в случае других модификаторов, например .
обратная косая черта сохраняет символ для интерпретации как особый. ..
Я знаю, это звучит смешно, но я не понимаю ...