Zazwyczaj także chcesz wykonać test, aby upewnić się, że wejściowy ciąg pasuje do Twojego zwykłego wyrażenia. W ten sposób można również obsługiwać przypadki błędów.
Aby wydobyć coś interesującego, musisz również w jakiś sposób zakotwiczyć fragment, który chcesz wyodrębnić.
więc ze swoim przykładzie, najpierw upewnij się, że ciąg wejściowy pasuje do naszej ekspresji, a następnie wydobyć trochę między dwoma bitami „nudnych”:
$input = "boring interesting boring";
if($input =~ m/boring (.*) boring/) {
print "The interesting bit is $1\n";
}
else {
print "Input not correctly formatted\n";
}
Całkowicie zastąpiłem pytanie oparte na komentarzach Joachima na inne odpowiedzi. To nie jest pytanie typu "regex". –
Tak brzmiącą frazę pytającą ma sens, jakbyś przyjął moją odpowiedź. – innaM
@brian, twoja edycja jest prawdopodobnie bardziej zwięzła, ponieważ moje pytanie dotyczyło wyłącznie składni używanej z operatorem m // i wokół niego, a nie z samym regexp. Mój błąd. Ale chciałbym umieścić gdzieś tam słowo "wyodrębnij", bo to jest to, na co będę googlować, gdy zapomnę, jak to zrobić! – joachim