匹配标签用的多词匹配的正则
比如“质量好”这个标签需要匹配到的是{质量,材质,手感,。。。}+{好,不错,赞,。。。}两个词的列表,请问该怎么写正则啊,求大神指教还有就是要是要求第一个词出现的位置前...
比如“质量好”这个标签 需要匹配到的是 {质量,材质,手感,。。。} + {好,不错,赞,。。。} 两个词的列表,请问该怎么写正则啊 ,求大神指教
还有就是要是要求第一个词出现的位置前后一定的位置匹配第二个能实现吗 ,不能就算了 展开
还有就是要是要求第一个词出现的位置前后一定的位置匹配第二个能实现吗 ,不能就算了 展开
1个回答
展开全部
/^.*?(质量|材质|手感)+(很|非常|特别|十分|超级){0,}(好|不错|赞)+.*?$/
解说:
^表示开头
$表示结尾
() 分组
|或者
.*? 有或者没有任意字符
+一个以上
{0,}没有或者有一个以上
/内容/ js里是这个写法,如果其他语言 只需要^到$部分
以下是测试代码和数据:
/^.*?(质量|材质|手感)+(很|非常|特别|十分|超级){0,}(好|不错|赞)+.*?$/.test('这质量好啊')
/^.*?(质量|材质|手感)+(很|非常|特别|十分|超级){0,}(好|不错|赞)+.*?$/.test('质量不错呀')
/^.*?(质量|材质|手感)+(很|非常|特别|十分|超级){0,}(好|不错|赞)+.*?$/.test('这材质不错呀')
/^.*?(质量|材质|手感)+(很|非常|特别|十分|超级){0,}(好|不错|赞)+.*?$/.test('这手感特别赞')
/^.*?(质量|材质|手感)+(很|非常|特别|十分|超级){0,}(好|不错|赞)+.*?$/.test('这质量非常好')
/^.*?(质量|材质|手感)+(很|非常|特别|十分|超级){0,}(好|不错|赞)+.*?$/.test('这质量很好')
有疑问或者不满足给出更详细需求追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询