我的数据库中有一段句子的一部分,如:
beautiful house close to the beach
this peaceful touristic area
under a beautiful tree
behind the property
我想选择不包含',' a'
等字词列表的句子通缉结果:
this peaceful touristic area
behind the property
我认为我必须使用像
这样的东西SELECT ID_sentence
FROM sentence
WHERE semi_sentence NOT RLIKE '(.*)[^A-Za-z]to[^A-Za-z](.*)'
AND semi_sentence NOT RLIKE '(.*)[^A-Za-z]a[^A-Za-z](.*)'
但我无法正确使用正则表达式,我应该将列表归入一个正则表达式
答案 0 :(得分:1)
您可以使用字边界应用于|
运算符后列出的两个备选方案的组:
WHERE semi_sentence NOT RLIKE '[[:<:]](to|a)[[:>:]]'
请参阅what this regex matches(由于您使用的是NOT
,您将获得不匹配的内容,并且在PCRE中使用\b
而不是[[:<:]]
(前导词边界) )和[[:>:]]
(尾随字边界))。
答案 1 :(得分:0)
'.*?\sto\s.*'
和'.*?\sa\s.*'
。?
之后添加.*
。感谢。