Кейсы по регулярным выражениям

Поиск e-mail в тексте или логина AD

~~*(\s|^|\n|\b)(\w|\.?|\-?)+@([A-zА-я0-9][-A-zА-я0-9]+\.)+[A-zА-я]{2,13}((\s|$|\n|\b))

Номерные знаки машин, расширенные и короткие

~~*(А|В|Е|К|М|Н|О|Р|С|Т|У|Х)(\s|\-)?\d{3}(А|В|Е|К|М|Н|О|Р|С|Т|У|Х){2}(\s|\-)?\d{2,3}
~~*(A|B|E|K|M|H|O|P|C|T|Y|X)(\s|\-)?\d{3}(A|B|E|K|M|H|O|P|C|T|Y|X){2}(\s|\-)?\d{2,3}
~~*(A|B|E|K|M|H|O|P|C|T|Y|X){3}(\s|\-)?\d{3}(\s|\-)?\d{2,3} (\s|\n|\b|^\d)

Полис ОСАГО

~~*(^|\s|\n|\b)(xxx|aaa|bbb|ddd|ххх|ааа|ббб|)(-|\s})\d{10}($|\s|\n|\b)

IP адрес

~(\s|^|\n|\b)((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}(\s|\n|\b)

Найти дату рождения, причём может быть и 2.2.1982 и 02.02.1982 2.2.82 и т.д.

С 1970 по 2019 год

~(\s|$|\n|^|\b)(((0?[1-9]|[1,2][0-9]|3[0,1])(\.|\-))((0?[1-9]|1[0,2])(\.|\-))|(((0?[1-9]|1[1,2])(\.|\-))(0?[1-9]|[1,2][1-9]|3[0,1])(\.|\-)))([2]0[01][0-9]|(19)?[7-9][0-9])

С 1900 по 2039 год

~(\s|$|\n|^|\b)(((0?[1-9]|[1,2][0-9]|3[0,1])(\.|\-))((0?[1-9]|1[0,2])(\.|\-))|(((0?[1-9]|1[1,2])(\.|\-))(0?[1-9]|[1,2][1-9]|3[0,1])(\.|\-)))([2]0[0-3][0-9]|(19)?[0-9][0-9])

Найти слово не важно какого регистра, например Слово Слово СЛОВО сЛоВо

~~*слово

Телефонный номер мобильный

~(8|\+7)?(\-|\s)?((9\d{9})|(\(?9\d{2}\)?)(((\-|\s)\d{2,4}){2,3}|(\s|-)\d{7}))

Телефонный номер стационарный, с конкретным кодом города и абстрактным

~(8|\+7)?(\-|\s)?((383\d{7})|(\(?383\)?)(((\-|\s)\d{2,4}){2,3}|(\s|-)\d{7})) – код 383
~(8|\+7)?(\-|\s)?((495\d{7})|(\(?495\)?)(((\-|\s)\d{2,4}){2,3}|(\s|-)\d{7})) – код 495
~(8|\+7)?(\-|\s)?((499\d{7})|(\(?499\)?)(((\-|\s)\d{2,4}){2,3}|(\s|-)\d{7})) – код 499
~(8|\+7)?(\-|\s)?((812\d{7})|(\(?812\)?)(((\-|\s)\d{2,4}){2,3}|(\s|-)\d{7})) – код 812

Примечание

X(xxx)xxxxxxx и варианты – с абстрактным кодом будет слишком много левых срабатываний