我正在编写一个regex表达式来匹配电子邮件地址,但前提是在电子邮件之前不存在特定的前缀。(这似乎适用于负查找后的任何非文字字符串匹配器。)
我尝试过使用负查找,但只有在前缀存在的情况下,我才成功地设法不匹配电子邮件地址的第一个字符。
(?<!From: )([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)首先,不要介意电子邮件地址匹配器,它是粗糙的,但在我的用例中有效,这个问题可以适用于任何非文字字符串-matcher,将捕获组替换为按预期工作的文字。
我想要它匹配的是电子邮件地址,如果前缀"From: "不在前面。
这不应该与地址匹配。
18.4.2019 9:35:02.115(22)->:From: address@subdomain.domain.tld这应该与地址相匹配
RCPT TO:<address@domain.tld>我尝试的regex方法是,它正确地匹配没有前缀的电子邮件地址,但在前缀的情况下,它也匹配它们,除了第一个字母显然是唯一匹配负查找的字母。这是有道理的。
有没有一种方法可以让消极的背景应用于整个捕获组?还是应该用另一种表达方式来处理这个问题呢?
发布于 2019-04-30 05:29:24
https://stackoverflow.com/questions/55914113
复制相似问题