包含和排除的正则表达式(Javascript)

时间:2015-04-20 21:50:05

标签: regex

我的任务是检查电子邮件主题中的某些模式,而不允许用户根据这些模式发送电子邮件。问题是......我必须使用现有的正则表达式。现有的正则表达式使用匹配模式允许用户发送。就我而言,我想检查一个不允许的模式。我用Google搜索,尝试了一百万种不同的方法。无法全部工作。

所以这是我要检查的内容: FW: FWD: 回覆: FW: 回覆; FW- 回覆- FW, RE,

所以这里是我需要搜索任何地方而不仅仅是开始的现有模式:

^[\w\d\s\+\-\/\\~!@#$%&*()_.,'?\u2600\u2715\u2716\u2713\u2714\u2606\u260E\u00A9\u00A3\u2612\u2614\u2615\u2618\u2619\u261A\u261B\u261C\u261D\u261E\u261F\u00AE\u00A2\u00BC\u00BD\u00BE\u2122\u263D\u263E\u2668\u2672\u2661\u2662\u2663\u2664\u2665\u2666\u2669\u266A\u266B\u266C\u2672\u267B\u267E\u267F\u2692\u2693\u2694\u2698\u269C\u26A0]+$

1 个答案:

答案 0 :(得分:0)

您只需在模式中添加否定前瞻:

(?!.*?\b(?:FWD?|RE)[-:;,])

.*?将强制执行模式中的任何条件。

所以模式最终会像这样:

^(?!.*?(?:FWD?|RE)[-:;,])[\w\d\s\+\-\/\\~!@#$%&*()_.,'?\u2600\u2715\u2716\u2713\u2714\u2606\u260E\u00A9\u00A3\u2612\u2614\u2615\u2618\u2619\u261A\u261B\u261C\u261D\u261E\u261F\u00AE\u00A2\u00BC\u00BD\u00BE\u2122\u263D\u263E\u2668\u2672\u2661\u2662\u2663\u2664\u2665\u2666\u2669\u266A\u266B\u266C\u2672\u267B\u267E\u267F\u2692\u2693\u2694\u2698\u269C\u26A0]+$