|
Регулярные выражения
#32680261
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
|
|
|
<OFF>
это регулярное выражение для проверки e-mail из MSDN
^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
а это почти соответствует спецификации RFC 822
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95.
[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-
\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\
xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:(?:[^(\ 040 )<>@,;:".\\\[\]\000-\037\x80
-\xff]+(?![^(\040)<>@,;:".\\\[\]\ 000 -\ 037 \x80-\xff])|"[^\\\x80-\xff\n
\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 "]*)*")[\ 040 \t]*(?:\([^\\\
x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\
[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\
040 \t]*)*(?:\.[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xf
f]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)
*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:[^(\ 040 )<>@,;:".\\\[\]\0
00-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\ 000 -\ 037 \x80-\xff])|"[^\\
\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 "]*)*")[\ 040 \t]
*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 0
15 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 01
5 ()]*)*\)[\ 040 \t]*)*)*@[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[
^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n
\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:[^(\ 040 )<>@,;:"
.\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\ 000 -\ 037 \x80-\xf
f])|\[(?:[^\\\x80-\xff\n\ 015 \[\]]|\\[^\x80-\xff])*\])[\ 040 \t]*(?:\([^
\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?
:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\
)[\ 040 \t]*)*(?:\.[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-
\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()
]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:[^(\ 040 )<>@,;:".\\\[\
]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\ 000 -\ 037 \x80-\xff])|\[
(?:[^\\\x80-\xff\n\ 015 \[\]]|\\[^\x80-\xff])*\])[\ 040 \t]*(?:\([^\\\x80
-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\
x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040
\t]*)*)*|(?:[^(\ 040 )<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,
;:".\\\[\]\ 000 -\ 037 \x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xf
f][^\\\x80-\xff\n\ 015 "]*)*")[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-
\037]*(?:(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-
\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\
xff\n\015()]*)*\)|"[^\\\x80-\xff\n\ 015 "]*(?:\\[^\x80-\xff][^\\\x80-\x
ff\n\015"]*)*")[^()<>@,;:".\\\[\]\x80-\xff\ 000 -\ 010 \ 012 -\ 037 ]*)*<[\ 04
0 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff
\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\
n\ 015 ()]*)*\)[\ 040 \t]*)*(?:@[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(
?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\
xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:[^(\ 040 )<>
@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\ 000 -\ 037 \x8
0 -\xff])|\[(?:[^\\\x80-\xff\n\ 015 \[\]]|\\[^\x80-\xff])*\])[\ 040 \t]*(?
:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 (
)]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()
]*)*\)[\ 040 \t]*)*(?:\.[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^
\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\
015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:[^(\ 040 )<>@,;:".
\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\ 000 -\ 037 \x80-\xff
])|\[(?:[^\\\x80-\xff\n\ 015 \[\]]|\\[^\x80-\xff])*\])[\ 040 \t]*(?:\([^\
\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:
\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)
[\ 040 \t]*)*)*(?:,[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-
\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()
]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*@[\ 040 \t]*(?:\([^\\\x80-
\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x
80 -\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \
t]*)*(?:[^(\ 040 )<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".
\\\[\]\ 000 -\ 037 \x80-\xff])|\[(?:[^\\\x80-\xff\n\ 015 \[\]]|\\[^\x80-\xf
f])*\])[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^
\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\
\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:\.[\ 040 \t]*(?:\([^\\\x80-\xff\n
\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xf
f][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(
?:[^(\ 040 )<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]
\ 000 -\ 037 \x80-\xff])|\[(?:[^\\\x80-\xff\n\ 015 \[\]]|\\[^\x80-\xff])*\]
)[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80
-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-
\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*)*)*:[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()
]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\
\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*)?(?:[^
(\ 040 )<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\ 000
-\ 037 \x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xf
f\n\ 015 "]*)*")[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xf
f]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)
*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:\.[\ 040 \t]*(?:\([^\\\x80
-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\
x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040
\t]*)*(?:[^(\ 040 )<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:"
.\\\[\]\ 000 -\ 037 \x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][
^\\\x80-\xff\n\ 015 "]*)*")[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\
\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff
\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*)*@[\ 040 \t]*(?:\
([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]
*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*
)*\)[\ 040 \t]*)*(?:[^(\ 040 )<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\04
0)<>@,;:".\\\[\]\ 000 -\ 037 \x80-\xff])|\[(?:[^\\\x80-\xff\n\ 015 \[\]]|\\
[^\x80-\xff])*\])[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-
\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()
]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*(?:\.[\ 040 \t]*(?:\([^\\\
x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\ 015 ()]*(?:\\
[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\))[^\\\x80-\xff\n\ 015 ()]*)*\)[\
040 \t]*)*(?:[^(\ 040 )<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,
;:".\\\[\]\ 000 -\ 037 \x80-\xff])|\[(?:[^\\\x80-\xff\n\ 015 \[\]]|\\[^\x80
-\xff])*\])[\ 040 \t]*(?:\([^\\\x80-\xff\n\ 015 ()]*(?:(?:\\[^\x80-\xff]|
\([^\\\x80-\xff\n\ 015 ()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\ 015 ()]*)*\)
)[^\\\x80-\xff\n\ 015 ()]*)*\)[\ 040 \t]*)*)*>)
|
|
|