Napisz nietrywialne wyrażenie regularne pasujące do siebie.
Na przykład #.*$
dopasuje komentarz poza ciągiem w pythonie do końca linii, a także dopasuje się do siebie w składni wyrażenia regularnego perl.
Zasady :
- Wyrażenie regularne musi robić coś pożytecznego lub praktycznego.
- Powiedz, jakiej składni wyrażenia regularnego używasz (np. Perl lub POSIX).
- Zwycięzca to najwyżej oceniona odpowiedź zgodna.
- Bądź kreatywny!
popularity-contest
regular-expression
Casey Kuball
źródło
źródło
A
byłoby trywialne, ale gdzie narysujesz linię? A przez „samodopasowanie” masz na myśli, że może ono pasować tylko do siebie, czy też może pasować do innych ciągów? By.
zakwalifikować?Odpowiedzi:
Skradzione z https://github.com/LeaVerou/prism/blob/gh-pages/components/prism-javascript.js . To powinno pasować (w JavaScript) do wszystkich wyrażeń regularnych JavaScript.
źródło
PYTON
Poniżej znajduje się pasujący generator wyrażeń regularnych. Podajesz dwie listy, jedna zawiera dane treningowe, które wyrażenie regularne powinno pasować (oprócz samego dopasowania), druga zawiera dane treningowe, których wyrażenie regularne NIE powinno pasować:
źródło
simulate
funkcji jest częścią użycia? Twojasimulate
funkcja nie używa argumentu 2.no_match
należy zmienić nazwęno_match_list
. Edytowanepopulation = generate_pop(pos_matches, neg_matches, pop_size)
, alegenerate_pop
funkcja nigdy nie korzysta zneg_matches
parametru? Czy możesz również podać przykład wywołania funkcji? Czy mogę to tak nazwaćsimulate(["Hello","World","world"], ["woah","bad","dont match"])
?simulate()
funkcję zgodnie z opisem. I tak, masz rację: nie używam negatywnych danych do generowania początkowej populacji.Wyrażenie regularne JavaScript, które pasuje do podobnych rzeczy.
Możesz to przetestować w następujący sposób:
źródło