В чем смысл (^ |) ABC (| $) как расширенного REGEX?

Я пришел сюда через команду grep -E '(^ ​​|) ABC (| $)' file1. Я смущен, как интерпретировать в ней регулярное выражение, потому что я знаю символы ^ и $ как начальные и конечные обозначения, но здесь они не в самом начале или конце из-за скобки, иногда используется для отрицания набора символов, но я видел это использование только в [^ ….] как выражение.

Может ли кто-нибудь объяснить шаг за шагом значение этого регулярного выражения?

One Solution collect form web for “В чем смысл (^ |) ABC (| $) как расширенного REGEX?”

Это означает, что grep должен искать строку ABC только в начале строки ИЛИ после пробела, причем эта строка должна заканчиваться другим пробелом ИЛИ концом строки.

Другими словами, кто-то хотел найти строки, которые образуют целые слова . Однако это регулярное выражение имеет много проблем, а может быть много других символов до и после слова (по крайней мере, на естественном языке), т. Е. ( , ) . , ; , : ,,, ... и т. д.

Таким образом, лучше использовать -w вариант grep , альтернативно играть с границами: \b или \< / \> .

  • заполнить базу данных mySQL текстовой информацией
  • Как сохранить каждую отдельную строку в текстовом файле в массив?
  • Есть ли способ исключить вложенный подкаталог, указанный по пути к этому директору из рекурсивного поиска grep?
  • Как запустить grep в файлах epub / mobi?
  • Список файлов, содержащих меньше N строк, соответствующих шаблону / строке
  • zgrep -h не работает, zgrep --no-filename делает?
  • Grep список для слова, которое существует в строке, и игнорировать все другие строки, которые содержат это слово
  • иметь файл журнала, который я хотел бы разбить на несколько файлов на основе контента
  • Греп из строки в строку
  • Вывод, который будет сохранен в файле с именем, аналогичным входному файлу
  • получить все строки, имеющие значение столбца, большее порога
  • Linux и Unix - лучшая ОС в мире.