嗨我有关于正则表达式的问题,我想找一个包含<>的字符串,比如
<kevin.tanjung@gmail.com>
如果正在寻找&lt;&gt;内的字符串,正则表达式工作正常贪婪,但是当有像这样的字符串时它会返回问题
<kevin.tanjung@gmail.com <mailto:kevin.tanjung@gmail.com>>
我希望我的正则表达式只能使&lt;&gt;罚款没有用&lt;&gt;括起来,因此在第二个字符串中:
<kevin.tanjung@gmail.com <mailto:kevin.tanjung@gmail.com>>
我希望它只返回<mailto:kevin.tanjung@gmail.com>
而不是整个事物。
答案 0 :(得分:3)
你可以在这里使用否定的字符类。
<[^<>]+>
说明:
< # '<'
[^<>]+ # any character except: '<', '>' (1 or more times)
> # '>'
答案 1 :(得分:1)
您可以使用此正则表达式:
<[^<]+?>
它会匹配起始<
,然后匹配任何非>
非贪婪和结束>
。这实际上将为您提供内在的部分。
答案 2 :(得分:0)
通过电子邮件验证取消char类
\<([^<>]([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+)\>