我有以下字符串:
ignoreword1,word1, ignoreword2
我想匹配任何不是ignoreword1
或ignoreword2
这是我到目前为止所拥有的
(?s)^((?!ignoreword1).)*$
主要目标是使用正则表达式作为postgresql数据库的一部分,在删除“ignoreword1”,“ignoreword2”和逗号“,”之后选择列匹配子字符串的行
答案 0 :(得分:1)
匹配任何非ignoreword1
或Ignoreword2
使用
\b(?!(?:ignoreword1|ignoreword2)\b)\w+
在PostgreSQL中,单词边界为[[:<:]]
和[[:>:]]
,因此请使用以下内容:
[[:<:]](?!(?:ignoreword1|ignoreword2)[[:>:]])[a-zA-Z]+
模式细节:
[[:<:]]
- 领先的字边界(?!(?:ignoreword1|ignoreword2)[[:>:]])
- 如果整个字符串为ignoreword1
或ignoreword2
[a-zA-Z]+
- 一个或多个ASCII字母。