Пишу, по большей части, про историю, свою жизнь и немного про программирование.

RegExp для английских слов

Не рискну предположить сколько займёт регулярное выражение для русских слов, а вот с английскими кто-то заморочился — существует регулярное выражения для английских слов, занимает 1,3Мб. Оно, конечно, полностью затмевает известное регулярное выражение для проверки емейла.

Насколько я понял, так автор демонстрирует работу своей программы frak, которая переводит любые наборы строк в регулярные выражения.

10 комментариев
vasa_c 2013

Юнит-тест для этой регулярки есть? :)

Евгений Степанищев (bolknote.ru) 2013

Комментарий для vasa_c:

Словарь английского языка :)

hshhhhh (hshhhhh.name) 2013

Комментарий для Евгения Степанищева:

Нужны ещё словари для других языков :)

Евгений Степанищев (bolknote.ru) 2013

Комментарий для hshhhhh.name:

Для негативного тестирования? :) Но автор не утверждает, что всё что совпадёт — английское слово, насколько я понимаю.

hshhhhh (hshhhhh.name) 2013

Комментарий для Евгения Степанищева:

Но автор не утверждает, что всё что совпадёт — английское слово, насколько я понимаю.

Ну я думал что регэкспы нужны для валидации данных, типа «прошёл регу -​-​ значит имаил корректный» (ну, как правило :)). Зачем нужен регеэксп для английского языка который может пропустить и не английский язык? Это пустословие!

Евгений Степанищев (bolknote.ru) 2013

Комментарий для hshhhhh.name:

Например потому, что слова в этом языке пишутся латиницей, а латиница используется не только в английском :)

Леша 2013

Капитан очевидность замечает, что синтетические языки не являются регулярными («людоедоед» и все такое).

hshhhhh (hshhhhh.name) 2013

Комментарий для Евгения Степанищева:

Например потому, что слова в этом языке пишутся латиницей, а латиница используется не только в английском :)

Ну, я понимаю :)
Но там вроде рега работает по принципу пунтосвитчера, мол «такого в русском языке быть не может поэтому сменим ка раскладку».

Другое дело что если она не может сказать что это английский с большой вероятностью -​-​ это совершенно бесполезные 1.3 мегабайта символов )

Что вижу - о том пою (aragont.livejournal.com) 2013

Я знаю более короткое регулярное выражение для английского языка — .*, а так же выражение, не дающее ложных срабатываний, — a|aback|abandon... и так до конца словаря современного английского.
На самом деле нужен какой-то критерий, который бы объяснял, чем именно это регулярное выражение лучше миллионов других, фильтрующих английский словарь.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для aragont.livejournal.com:

Я знаю более короткое регулярное выражение для английского языка — «.*»

Весь текст на этой странице попадёт под это регулярное выражение, причём здесь английский?

а так же выражение, не дающее ложных срабатываний, — a|aback|abandon... и так до конца словаря современного английского

Это именно то, что содержит в себе данное регулярное выражение, просто в более компактном виде. Например, вместо smack|black там «(?:sm|bl)ack», принцип такой.