gpt4 book ai didi

c# - 正则表达式匹配除给定列表之外的所有单词

转载 作者:IT王子 更新时间:2023-10-29 04:49:07 25 4
gpt4 key购买 nike

我正在尝试编写一个替换正则表达式来用引号将除 AND、OR 和 NOT 之外的所有单词括起来。

我已经尝试了以下表达式的匹配部分:

(?i)(?<word>[a-z0-9]+)(?<!and|not|or)

(?i)(?<word>[a-z0-9]+)(?!and|not|or)

但都不起作用。替换表达式很简单,目前包围所有单词。

"${word}"

所以

This and This not That

成为

"This" and "This" not "That"

最佳答案

这有点脏,但它有效:

(?<!\b(?:and| or|not))\b(?!(?:and|or|not)\b)

在简单的英语中,这匹配任何前面和后面没有“and”、“or”或“not”的单词边界。它只匹配整个单词,例如单词“sand”之后的位置不会因为前面有“and”而匹配。

零宽度后视断言中“或”前面的空格对于使其成为固定长度的后视是必需的。试试这是否已经解决了您的问题。

编辑:应用于字符串“除了单词 AND、OR 和 NOT。”作为单引号的全局替换,这将返回:

'except' 'the' 'words' AND, OR and NOT.

关于c# - 正则表达式匹配除给定列表之外的所有单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/242698/

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