Na początek nie sugeruję używania „*” w wyrażeniach regularnych. Tak, wiem, jest to najczęściej używany separator wieloznakowy, ale mimo wszystko jest to zły pomysł. Dzieje się tak dlatego, że chociaż pasuje do dowolnej liczby powtórzeń dla tego znaku, „any” zawiera 0, co jest zwykle czymś, dla którego chcesz zgłosić błąd składni, a nie akceptować. Zamiast tego sugeruję użycie +
znaku, który pasuje do każdego powtórzenia długości> 1. Co więcej, z tego, co widzę, masz do czynienia z wyrażeniami o stałej długości w nawiasach. W rezultacie prawdopodobnie możesz użyć {x, y}
składni, aby dokładnie określić żądaną długość.
Jeśli jednak naprawdę potrzebujesz niechcianych powtórzeń, radzę skonsultować się z wszechmocnym ?
. To, po umieszczeniu po na końcu dowolnego specyfikatora powtórzenia wyrażenia regularnego, zmusi tę część wyrażenia regularnego do znalezienia najmniejszej możliwej ilości tekstu.
Biorąc to pod uwagę, byłbym bardzo ostrożny z tym, ?
ponieważ podobnie jak Sonic Screwdriver w Dr. Who, ma tendencję do robienia, jak mam to ująć, „lekko” niepożądanych rzeczy, jeśli nie są dokładnie skalibrowane. Na przykład, aby użyć przykładowych danych wejściowych, zidentyfikowałoby ((1)
(zwróć uwagę na brak drugiego rparena) jako dopasowanie.