Напишите нетривиальное регулярное выражение, которое соответствует самому себе.
Например, #.*$
будет соответствовать комментарий за пределами строки в python до конца строки, а также совпадать с синтаксисом регулярных выражений perl.
Правила :
- Регулярное выражение должно делать что-то полезное или практичное.
- Скажите, какой синтаксис регулярных выражений вы используете (например, Perl или POSIX).
- Победитель - лучший ответ.
- Будь креативным!
popularity-contest
regular-expression
Кейси Кубалл
источник
источник
A
было бы тривиально, но где вы проводите черту? И под «самосогласованием» вы подразумеваете, что он может соответствовать только самому себе, или ему разрешено совпадать и с другими строками? Будет ли иметь.
право?Ответы:
Украдена у https://github.com/LeaVerou/prism/blob/gh-pages/components/prism-javascript.js . Это должно соответствовать (в JavaScript) всем регулярным выражениям JavaScript.
источник
ПИТОН
Ниже приведен самосогласованный генератор регулярных выражений. Вы предоставляете два списка: один содержит тренировочные данные, которым регулярное выражение должно соответствовать (в дополнение к самому сопоставлению), другой содержит тренировочные данные, которым регулярное выражение НЕ должно соответствовать:
источник
simulate
функции является частью использования? Вашаsimulate
функция не использует аргумент № 2.no_match
должен быть переименованno_match_list
. Отредактированоpopulation = generate_pop(pos_matches, neg_matches, pop_size)
, ноgenerate_pop
функция никогда не используетneg_matches
параметр? Кроме того, не могли бы вы привести пример вызова функции? Могу ли я назвать это какsimulate(["Hello","World","world"], ["woah","bad","dont match"])
?simulate()
функцию, как вы описали. И да, вы правы: я не использую отрицательные данные для генерации начальной популяции.Регулярное выражение JavaScript, соответствующее таким вещам.
Вы можете проверить это так:
источник