Mój problem dotyczy wyrażenia regularnego. Dzięki regexr
, Udało mi się napisz wyrażenie który odpowiada nazwie interfejsu route
Polecenie linux dało mi.
Ale nie mogę tego złapać:
route | grep -Eo "(?:((\w|\.|\*)+\s+)){7}([^ .]+[0-9]+)$"
Dlaczego?
grep -E
i JavaScript ( regexr
dialektu, z szybkiego wyglądu), nie używaj dokładnie tego samego, więc możesz użyć wyjścia regexr jako punktu wyjścia.
regexr
z owiniętym regexem/(?:((\w|\.|\*)+\s+)){7}([^ .]+[0-9]+)$/igm
. I kiedy używaszgrep
to jest po prostu(?:((\w|\.|\*)+\s+)){7}([^ .]+[0-9]+)$
. Ponieważ pragniesz multilinegrep
to po prostu nie istnieje;grep
jest ściśle jedna linia na raz.