gpt4 book ai didi

regex - 匹配没有周围字符列表的单词列表

转载 作者:行者123 更新时间:2023-12-03 01:45:14 25 4
gpt4 key购买 nike

我有这个正则表达式

(?:$|^| )(one|common|word|or|another)(?:$|^| )

除非两个单词彼此相邻,否则匹配良好。

One one's more word'word common word or another word more another 

More and more years to match one or more other strings

And common word things and or

在上面它匹配第二行中的one,但不匹配它旁边的or。第三行的 commonword int 也是如此。

实例:http://regex101.com/r/hV3wQ3

我认为这与不匹配组的数量有关。但是,我不确定如何实现匹配所有单词列表且周围没有任何字符的最终目标。

我不想匹配 one's 中的 oneword'word 中的单词。

最佳答案

由于您的捕获组在常用单词的两侧明确定义了一个字符,因此它会查找 space word space,然后当它出现时找不到另一个空间,失败。

在这种情况下,由于您不想匹配单词边界将捕获的所有字符(句号、撇号等),因此您需要对前瞻、后视和非捕获组使用一些技巧。试试这个:

(?:^|(?<= ))(one|common|word|or|another)(?:(?= )|$)

http://regex101.com/r/cM9hD8

单词边界仍然更容易实现,因此为了引用起见,您也可以这样做(尽管它会包括 '. 等)。

\b(one|common|word|or|another)\b

关于regex - 匹配没有周围字符列表的单词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com