【发布时间】:2018-11-07 22:51:11
【问题描述】:
我是 Stackoverflow 和正则表达式的新手,请多多包涵。我有个人在我们的论坛上发布虚假电话号码。该论坛有一个使用正则表达式的内容过滤器,一位同事在休陪产假之前更新了过滤器。现在我需要更新表达式以考虑新模式。如果匹配,则将电话号码替换为 [已编辑]。是否可以编写一个与以下数字匹配但不包括我们的支持线的表达式? (支持行号可以坚持单一格式)
- 1(864) 雅痞 361-8969
- 1(868) 雅痞 751 1556
- 1(878) 761-1655
- 1(864) 391-8999
- 1(865) 446 4830
支持热线 1-866-9789
所以我真的有两个问题,1) 我可以使用否定前瞻来匹配除我们的支持热线之外的所有电话号码和格式吗? 2) 我可以在号码之间输入文字时匹配电话号码吗?
棘手的部分是我不能禁止所有数字或组合,因为该论坛用于讨论财务。因此,数字会定期在帖子中使用。
提前致谢!
【问题讨论】:
-
您对电话号码中间的文字有什么规定?如果我们对正则表达式过于松散,您最终可能会意外地审查大段文本。另外,换行符呢?
-
你只匹配这 5 个数字吗?
-
任何形式的黑名单都会被绕过。将电话号码伪装成其他数据很容易,例如
call this: 1234567. -
目前我们没有任何规则来识别电话号码中间的文本。我不知道从哪里开始@john
标签: regex filter spam-prevention