在 postgreSQL 中,当每个单词由分隔符分隔时,将特定单词与一个单词前一个单词和一个单词后一个单词匹配

时间:2021-03-22 03:51:21

标签: regex postgresql

我想使用正则表达式匹配一个特定的词以及一个前导词和一个尾随词。匹配的条件是左词和右词与中间词不同。

如果我有如下几行。

 1. apple,banana,orange,banana
 2. orange,banana,guava
 3. banana,orange,banana,orange,apple,guava
 4. guava,apple,orange,orange,banana

所需输出 如果 orange 是中间词,那么我要查找的输出如下:

1. (banana,orange,banana)
2. (orange,banana)
3. (banana,orange,banana), (banana,orange,apple)
4. (apple,orange,banana)

目前,我有以下正则表达式

([\w\-\(\) ]+)?,?(orange)+,?([\w\-\(\) ]+)?

这给了我以下内容

1. (banana,orange,banana)
2. (orange,banana)
3. (banana,orange,banana), (NULL,orange,apple)
4. (apple,orange,orange)

我已经为此花了一天时间,请帮我解决这个问题。谢谢!

0 个答案:

没有答案
相关问题