gpt4 book ai didi

python - 正则表达式:否定整个单词而不是 1 个字符

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

如果我这样做 [^>] 它会否定看起来像 > 的字符。

如何否定整个单词?

即我想做一些类似 [^people] 的事情来忽略整个单词 people?

编辑#1:

更好的例子

   a bunch of other text before this <property datatype = ""system.string"" description=""the sql command to be executed."" name=""sqlcommand""UITypeEditor="">select col_1, col_2, from dbo.table</property> a bunch of other text after this

现在,它只返回:

<property datatype = ""system.string"" description=""the sql command to be executed."" name=""sqlcommand

但我希望它返回这个:

<property datatype = ""system.string"" description=""the sql command to be executed."" name=""sqlcommand""UITypeEditor="">select col_1, col_2, from dbo.table</property>

最佳答案

您无法使用字符类 ([]) 否定单词,您需要查看零宽度环视:

<小时/>

首先,前瞻:

为了确保 people 不会立即遵循当前 token :

(?!people)

为了确保 people 之后不会在任何地方跟随当前 token :

(?!.*people)
<小时/>

现在,回顾:

要确保 people 不会立即出现在当前标记之前:

(?<!people)

Python 的 re 模块不支持可变长度lookbehind,因此以下确保 people 不会出现在当前标记位置之前的任何位置,不适用于回复:

(?<!.*people)

但适用于第三方regex模块。

<小时/>

这里所有的模式都是零宽度的,即它们在匹配中不消耗字符,只是实现逻辑。

关于python - 正则表达式:否定整个单词而不是 1 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52190685/

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