Perl正则表达式为“回复:”然后字符只有“@ domain1.fr”或“@ domain2.fr”

时间:2018-04-20 00:04:36

标签: regex perl xregexp

我想编写一个Perl regexp,如果字符串

,它会给出匹配
  1. 以“回复:”
  2. 开头
  3. 继续使用任意数量的字符
  4. 仅继续“@ domain1.fr”或“@ domain2.fr
  5. 以任意数量的字符结尾
  6. 示例:

    • 回复:abc def @ domain1必须匹配
    • 回复:abc def @ domain2必须匹配
    • 回复:abc def @ domain3必须不匹配

    我试过

    /^Reply-To: *(?!@domain1.fr|@domain2.fr)/ 
    

    • 回复:abc def @ domain1不匹配
    • 回复:abc def @ domain2与
    • 不匹配

    问题是从与domain1 AND domain2 不同的匹配域中排除。因为,如果我想从仅与domain1不同的匹配域中排除,我键入

    /^Reply-To: *(?!domain1.fr)/ 
    

    它完美无缺。

1 个答案:

答案 0 :(得分:0)

If I understand you correctly, then the regex you're looking for is:

/^Reply-To: *.*(@domain1.fr|@domain2.fr)/