有人可以向我解释这个java正则表达式吗?
^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|in|aero|jobs|museum)$
Run Code Online (Sandbox Code Playgroud)
此正则表达式用于验证电子邮件地址.
Iva*_*lik 12
验证电子邮件地址现在被认为是不好的做法(停止使用正则表达式验证电子邮件地址),尤其是在您的问题中使用此类表达式.例如,这是一个更完整的表达.
至于这个表达式,让我们分解它:
匹配字符串的开头
^
Run Code Online (Sandbox Code Playgroud)
匹配列表中的至少一个字符
[a-z0-9!#$%&'*+/=?^_`{|}~-]+
Run Code Online (Sandbox Code Playgroud)
非捕获(参见反向引用)组,可以重复0..n次,匹配.列表中的a 和然后至少一个字符.
(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*
Run Code Online (Sandbox Code Playgroud)
只是这个角色
@
Run Code Online (Sandbox Code Playgroud)
非捕获组匹配此列表中的一个字符[a-z0-9],然后可能包含以下列表中的更多字符.匹配的字符串必须以[a-z0-9]开头和结尾,内部可以有[a-z0-9-].
(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+
Run Code Online (Sandbox Code Playgroud)
匹配2个大写字母或其中一个单词的非捕获组.
(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|in|aero|jobs|museum)
Run Code Online (Sandbox Code Playgroud)
字符串结束.
$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2107 次 |
| 最近记录: |