Как мне сопоставить слово только в скобках
Вход:
this is (test.com)
Желание выхода:
test.com
grep
regular-expression
Рахул Патил
источник
источник
Ответы:
Вот несколько вариантов, каждый из которых выводит желаемый результат:
Использование
grep
с-o
флагом (только для печати совпадающей части строки) и Perl-совместимых регулярных выражений (-P
), которые могут сделать обходные пути :Это регулярное выражение может нуждаться в пояснении:
(?<=\()
: Это позитивный взгляд , общий формат(?<=foo)bar
и он будет соответствовать всем случаям,bar
найденным сразу послеfoo
. В этом случае мы ищем открывающую скобку, поэтому мы используем ее,\(
чтобы избежать.(?=\))
: Это позитивный взгляд и просто соответствует закрывающей скобке.-o
Вариантgrep
причин его печатать только совпадающую часть какой - либо линии, поэтому мы ищем то , что в скобках , а затем удалить ихsed
:Разобрать все это с помощью Perl:
Разобрать все это с помощью
sed
:источник
Одним из подходов было бы использование регулярных выражений, совместимых с Perl
grep
:Ссылки
источник