我想编写一个正则表达式(Java 脚本)来匹配给定的文本是否仅包含电子邮件字符串。
例如:
我使用 (?A quantifier inside a lookbehind makes it non-fixed width
错误编写了一个正则表达式。
正则表达式:
^.+(?<!([a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.com))$
说明:
([a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.com)
- 用于检查电子邮件地址的正则表达式。^.+(?<!([a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.com))$
- 正则表达式检查所有非空文本的后面(.+)
请给我一个解决这个问题的想法...
谢谢
一种方法是将电子邮件地址的模式包含在带有锚点的否定前瞻断言中:
^(?![a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.com$)
演示:https://regex101.com/r/gutJB8/1
请注意,问题中的
[email protected]
示例不应匹配,即使您声称它应该匹配。