Вопросы с тегом «regular-expression»

Регулярные выражения - это средство сопоставления шаблона символов в строке.


4
Разница между [0-9], [[: digit:]] и \ d
В статье в Википедии о регулярных выражениях кажется, что [[:digit:]]= [0-9]= \d. Каковы обстоятельства, когда они не равны? В чем разница? После некоторого исследования, я думаю, одно отличие состоит в том, что выражение в скобках [:expr:]зависит от локали.

4
Vim - как заменить одну новую строку \ n двумя \ n
В редакторе vim я хочу заменить символ новой строки (\ n) двумя символами новой строки (\ n \ n) в командном режиме vim. Содержание входного файла: This is my first line. This is second line. Команда, которую я попробовал: :%s/\n/\n\n/g он заменяет строку нежелательными символами как This is my first …

2
grep и избегая знака доллара
Я хочу знать, какие файлы имеют строку $Id$. grep \$Id\$ my_dir/mylist_of_files возвращает 0 вхождений. Я обнаружил, что я должен использовать grep \$Id$ my_dir/mylist_of_files Затем я вижу, что $Idцвет на выходе, то есть он был сопоставлен. Как я могу соответствовать второй $и почему не \$Id\$работает. Не имеет значения, является ли второй …

6
Проверка, является ли входной номер целым числом
Я пытаюсь проверить, является ли ввод целым числом, и я прошел через него сто раз, но не вижу ошибки в этом. Увы, он не работает, он запускает оператор if для всех входных данных (цифры / буквы) read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry integers only" …

3
Заменить с помощью VIM, повторно использовать часть шаблона поиска
Я работаю VImи пытаюсь настроить команду поиска и замены, чтобы выполнить некоторые замены, где я могу повторно использовать регулярное выражение, которое является частью моей строки поиска. Простой пример будет линия , где я хочу заменить (10)на {10}, где 10 может быть любое количество. Я зашел так далеко .s/([0-9]*)/what here??/ которая …

5
Чередование регулярных выражений / или оператор (foo | bar) в GNU или BSD Sed
Я не могу заставить его работать. Документация GNU sed говорит, что нужно убежать из трубы, но это не работает, равно как и использование прямой трубы без выхода. Добавление паренов не имеет значения. $ echo 'cat dog pear banana cat dog' | sed 's/cat|dog/Bear/g' cat dog pear banana cat dog $ …

2
Влияет ли (должно) LC_COLLATE на диапазоны символов?
Порядок сортировки через LC_COLLATEопределяет не только порядок сортировки отдельных символов, но и значение диапазонов символов. Или это? Рассмотрим следующий фрагмент: unset LANGUAGE LC_ALL echo B | LC_COLLATE=en_US grep '[a-z]' Интуитивно, Bне в [a-z], так что это не должно ничего выводить. Вот что происходит в Ubuntu 8.04 или 10.04. Но на …

11
Должен быть лучший способ заменить только отдельные символы новой строки?
У меня есть привычка писать по одной строке на предложение, потому что я обычно компилирую вещи в LaTex или пишу в каком-то другом формате, где разрывы строк игнорируются. Я использую пустую строку, чтобы указать начало нового абзаца. Теперь у меня есть файл, написанный в этом стиле, который я хотел бы …

7
Как выбрать первое вхождение между двумя образцами, включая их
Как я могу выбрать первое вхождение между двумя образцами, включая их. Предпочтительно с помощью sedили awk. Я имею: text something P1 something content1 content2 something P2 something text something P1 something content3 content4 something P2 something text Я хочу, чтобы первое вхождение линий между P1 и P2 (включая линию P1 …

3
Как использовать [\ w] + в регулярном выражении в sed?
Я нахожусь на Windows, но я предполагаю, что мой вопрос все еще правильно помещен здесь. C:\Users\User>grep --version GNU grep 2.6.3 C:\Users\User>sed --version GNU sed version 4.2.1 Я заметил, что следующие работы (вывод here): echo here | grep -E "\w+" echo here | grep -E "[her]+" Но это не работает (ничего …

9
Как я могу «grep» паттерны через несколько строк?
Кажется, я неправильно использую grep/ egrep. Я пытался найти строки в несколько строк и не смог найти совпадение, хотя я знаю, что то, что я ищу, должно совпадать. Первоначально я думал, что мои регулярные выражения были неправильными, но в конце концов я прочитал, что эти инструменты работают в каждой строке …

6
Regex для всех 10 буквенных слов, с уникальными буквами
Я пытаюсь написать регулярное выражение, которое будет отображать все слова длиной 10 символов, и ни одна из букв не повторяется. Пока у меня есть grep --colour -Eow '(\w{10})' Что является самой первой частью вопроса. Как бы я проверил «уникальность»? Я действительно понятия не имею, кроме этого мне нужно использовать обратные …

5
В регулярном выражении какие символы нужно экранировать?
Вообще, какие символы в регулярном выражении нужно экранировать? Например, следующее не является синтаксически правильным: echo '[]' | grep '[]' grep: Unmatched [ or [^ Это, однако, является синтаксически правильным: echo '[]' | grep '\[]' [] Есть ли документация о том, какие символы следует экранировать в регулярном выражении, а какие нет?

5
VIM номера поиска, содержащие определенное количество цифр
Мне нужно найти цифры определенной длины в большом документе. Я пытался использовать регулярные выражения для этого. Например, если мне нужно искать номера с ровно 2 цифрами, я использую \d\d(то есть / d дважды с пробелом). Это хорошо работает. Но для нахождения 10-значных чисел вводить \d10 раз не реально . Пробовал …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.