求助正则表达式

ovenj 2014-04-01 04:56:11
有个内容过滤系统,需要做如下东西。

首先给出很多条关键字过滤规则,如:
规则1:(出|急)&(Q5|Q7|Q七|Q五|卡宴|奔驰|霸道)&(13|15|18|w|手续)
规则2:(免|售|掌握|礼)&(购)&(专业|二手|各|提供|通)&(上门|收|转|送)&(特价|电|预订)

然后给出一段内容,例如:
紧急出售奥迪Q7,电话13866847739,手续齐全

判断内容是否匹配“规则1,规则2”。如果匹配,提示内容非法。

规则的判断是(如规则1):
1.(出|急)
2.(Q5|Q7|Q七|Q五|卡宴|奔驰|霸道)
3.(13|15|18|w|手续)

1,2,3,必须有包含的字符才算是不通过,只要有一个没有包含就不算非法内容。
...全文
191 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ovenj 2014-04-01
  • 打赏
  • 举报
回复
我写成这样的,可以满足要求,请大神判别下:
^(?=.*?(价|详情|推出|会所|活动))(?=.*?(送|优惠|仅|店))(?=.*?(享|购|抢|联系))
ovenj 2014-04-01
  • 打赏
  • 举报
回复
引用 楼主 ovenj 的回复:
有个内容过滤系统,需要做如下东西。 首先给出很多条关键字过滤规则,如: 规则1:(出|急)&(Q5|Q7|Q七|Q五|卡宴|奔驰|霸道)&(13|15|18|w|手续) 规则2:(免|售|掌握|礼)&(购)&(专业|二手|各|提供|通)&(上门|收|转|送)&(特价|电|预订) 然后给出一段内容,例如: 紧急出售奥迪Q7,电话13866847739,手续齐全 判断内容是否匹配“规则1,规则2”。如果匹配,提示内容非法。 规则的判断是(如规则1): 1.(出|急) 2.(Q5|Q7|Q七|Q五|卡宴|奔驰|霸道) 3.(13|15|18|w|手续) 1,2,3,必须有包含的字符才算是不通过,只要有一个没有包含就不算非法内容。
正则里面没有AND?
threenewbee 2014-04-01
  • 打赏
  • 举报
回复
这东西用正则表达式做比较复杂。 思路就是你需要枚举出各种排列组合,然后用 | 连接起来。

110,531

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧