gpt4 book ai didi

python - 正则表达式检查是否没有空词不是特定词

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:57 25 4
gpt4 key购买 nike

我想找到一种方法来匹配特定模式中的字符串: <not 'self'>._<something> .

这个模式应该匹配这些字符串

object._attr
a._aaa

以及具有该模式的任何其他字符串,只要点之前的第一部分('object' 和 'a')不为空,并且不是文字字符串“self”。下划线后的第二部分('attr' 和 'aaa')不能为空且只能包含单词字符。所以self._attr, object._将不会匹配。

目前我正在尝试使用这样的负面前瞻

(?!self)\._(\w+?)

但问题是这个模式仍然匹配self._attr ,因为否定前瞻匹配点之前的空字符串。

我如何实际指定模式的第一部分必须是非空的。

希望我的问题表述得当。

谢谢大家

最佳答案

你可以试试

^((?!self).)+\._(\w+?)$

enter image description here

Regex demo


如果您没有匹配完整的字符串,您也在尝试匹配字符串的子部分,那么您可以使用 wordboundarylookarounds 代替 anchor >

使用环视

(?<!\S)((?!self).)+\._(\w+?)(?!\S)

使用单词边界

\b((?!self).)+\._(\w+?)\b

如果您只想匹配字母,您可以将 . 替换为 [a-zA-Z]

^((?!self)[a-zA-Z])+\._(\w+?)$

关于python - 正则表达式检查是否没有空词不是特定词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58515557/

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