2014-01-23 69 views
0

行!我在Desk.com中设置了入站交互规则来过滤大小写,并且有一个使用正则表达式的选项。我们收到很多关于投诉撤诉相关问题的邮件。所以我想为所有提款相关问题自动设置一个标签。但问题是大多数人没有完全按照它应该提到的“提款”一词。所以有人可以帮助我找到一个正则表达式来查找所有撤销单词的变体。现在我已经推断出是什么,大多数人要么写“退/ widrawal/widrowal/withdrawalsetc”但基本上说这些话的w/w的开始,以“人”或“ALS”正则表达式搜索词的变体

+2

你可能想看看模糊匹配库:这个想法正是为了寻找具有相同含义的略有不同的字符串。 – Robin

回答

1

[Ww].*?[aA][lL]([sS])?

也许结束?

您还可以尝试在开始和结束时使用\b作为word boundary。此外,我不禁想知道这是否会最终被恶意使用,以忽略所有与提款相关的电子邮件,他们可能会错误地将其错误地拼写成过滤器的潜在 。只是一个想法。

更新:[Ww][A-Za-z]{7}[aA][lL]([sS])?将匹配W(anyfiveletters)AL无论大小写。 您也可以考虑一个范围,以便您可以匹配wal之间的5到7个字符。例如。 [Ww][A-Za-z]{5,7}[aA][lL]([sS])?这将匹配您的所有示例,因为您的用户似乎无法正确拼写。

+0

嗨,我试图使用这个,但似乎这个表达式实现了“withh hshshs rawal”也有一种方法来修复必须在w和al之间的字符数以便表达式显示正面。 – sherlock

+0

@sherlock是的。您可以使用[A-Za-z]这样的字符集来反映任何字母(大写或小写),然后使用[限制器](http://www.regular-expressions.info/repeat.html#limit)让你的字符集匹配5次。我更新了我的答案以反映我的建议 – PsychoData