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

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

2
Почему sed не использует расширенный режим регулярных выражений по умолчанию?
Я использую sed. Насколько я мог видеть, я использовал регулярное выражение, но sed ничего не делал. Оказывается, что я использовал, \s+который sed не может понять, и когда я переключился на [ ]+это работало. Таким образом, чтобы подвести итог, я сделал регулярное выражение, которое, чтобы это работало, я должен был избежать …

3
Регулярное выражение для поиска двойных символов в Bash
Я ищу регулярное выражение, которое находит все вхождения двойных символов в тексте, листинге и т. Д. В командной строке (Bash). Главная Вопрос : Есть ли простой способ поиска последовательностей , таких как aa, ll, tttttи т.д. , где один определяет регулярное выражение , которое выглядит для п вхождений одного и …

2
Какое определение для регулярного выражения?
Недавно я вступил в дружеский спор с Готи о том, что является регулярным выражением в комментариях к моему ответу на этот вопрос. Я утверждал, что следующее является регулярным выражением: `[Rr]eading[Tt]est[Dd]ata` Готи не согласен с этим, утверждая, что это файл. Глоб страница на Википедии утверждает , что (курсив мой): Глобусы не …

4
Рекурсивно переименовывать подкаталоги, которые соответствуют регулярному выражению
У меня есть медиа-сервер с папкой под названием Series. ( /media/Expansion2/Series/) В нем у меня (сюрприз!) Сериал. Это только названия шоу, например,/media/Expansion2/Series/The Big Bang Theory/ Внутри папки каждого шоу (и в этом проблема) у меня есть сезонные папки. У меня в настоящее время есть смесь следующих 2 соглашений (наряду с …

7
Как объединить текст буквенных строк с числовыми строками в оболочке?
У меня есть файл с таким текстом: AAAA BBBB CCCC DDDD 1234 5678 9012 3456 EEEE 7890 и т.д... И я хочу сопоставить буквенные линии с числовыми линиями, чтобы они выглядели так: AAAA 1234 BBBB 5678 CCCC 9012 DDDD 3456 EEEE 7890 Кто-нибудь знает простой способ добиться этого?


1
Почему некоторые команды регулярных выражений имеют противоположные интерпретации '\' с различными символами?
Взять, к примеру, эту команду: find . -regex ".*\.\(cpp\|h\)" Это найдет все файлы .h и .cpp в вашем каталоге. Символ периода '.' в регулярных выражениях обычно означает «любой символ». Чтобы он соответствовал только фактическому периоду, вы должны экранировать его, используя символ обратной косой черты '\'. В этом случае, если у …

5
Удалить ведущую строку в bash
У меня есть строка типа, rev00000010и я хочу только последний номер, 10 в этом случае. Я пробовал это: TEST='rev00000010' echo "$TEST" | sed '/^[[:alpha:]][0]*/d' echo "$TEST" | sed '/^rev[0]*/d' оба ничего не возвращают, хотя регулярное выражение кажется правильным (пробовал с регулярным выражением )

3
Использование регулярного выражения, совместимого с Perl, с GNU grep -P
Я использую это регулярное выражение (?<=\[')[^,]*в файле, содержащем следующую строкуdisk = ['OVS/sdasd/asdasd/asdasd/something.img, w'] Я хочу это вернуть OVS/sdasd/asdasd/asdasd/something.img Как мне использовать, grepчтобы это работало? Я пытался, grep -P "(?<=\[')[^,]*"но он возвращает всю строку.

1
экранирование одной точки с двойной обратной косой чертой - awk
В книге "Эффективное программирование на awk" есть пример расщепления поля. вот пример: Если вы хотите, чтобы поля были разделены литеральным периодом, за которым следует какой-либо один символ, используйте ‘FS = "\\.."’. Почему это двойной обратный слеш? не должно ли это быть \..?



2
Почему '[az] *' соответствует не алфавитным строкам?
У меня есть файл alphanumс этими двумя строками: 123 abc this is a line Я не понимаю, почему, когда я бегу sed 's/[a-z]*/SUB/' alphanum, я получаю следующий вывод: SUB123 abc SUB is a line Я ожидал: 123 SUB SUB is a line Я нашел исправление (используйте sed 's/[a-z][a-z]*/SUB/'вместо этого), но …

3
Как или почему использование `. *?` Лучше, чем `. *`?
Я ответил на этот вопрос в SuperUser, который имел отношение к виду регулярных выражений, используемых при подборе вывода. Ответ, который я дал, был таков: tail -f log | grep "some_string.*some_string" И затем, в трех комментариях к моему ответу @Bob написал это: .*жадный и может захватить больше, чем вы хотите. .*?обычно …


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