Jak dopasować słowo tylko między nawiasami
Wejście:
this is (test.com)
Wyjście pożądania:
test.com
grep
regular-expression
Rahul Patil
źródło
źródło
Odpowiedzi:
Oto kilka opcji, z których wszystkie drukują pożądany wydruk:
Używanie
grep
z-o
flagą (drukuj tylko pasującą część linii) i wyrażeniami regularnymi zgodnymi z Perlem (-P
), które mogą wyszukiwać :To wyrażenie regularne może wymagać wyjaśnienia:
(?<=\()
: Jest to pozytywny wygląd , ponieważ ogólny format jest(?<=foo)bar
i będzie pasował do wszystkich przypadkówbar
znalezionych zaraz pofoo
. W tym przypadku szukamy nawiasu otwierającego, więc używamy go,\(
aby uciec.(?=\))
: To jest pozytywne spojrzenie w przyszłość i po prostu pasuje do zamykającego nawiasu.-o
Opcjagrep
przyczyn go tylko wydrukować dopasowaną część każdej linii, więc patrzymy na to, co jest w nawiasach, a następnie usunąć je zsed
:Parsuj wszystko za pomocą Perla:
Analizuj całość za pomocą
sed
:źródło
Jednym z podejść byłoby użycie wyrażeń regularnych zgodnych z PCRE z
grep
:Referencje
źródło