正则表达式负前瞻(python)

2024-06-11 19:49:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试过多种方法,读过当前可用的博客,但运气不佳

我只想检测一下

1. pavneet
2. pavnet

但不是

1. pavneet's name
2. pavnet's name
3. pavneet name
4. pavnet's name

(要将名称添加为-ve lookahead,即使在的后面)

到目前为止,我已经尝试过这个https://regex101.com/r/8SUCMQ/1

(pavneet|pavne{1,2}t)\'?s?(?!\ *name)

Tags: 方法namehttps名称comvelookahead运气
1条回答
网友
1楼 · 发布于 2024-06-11 19:49:59

您可以将's放在前瞻中,并使其成为可选的

您还可以将(pavneet|pavne{1,2}t)写为pavnee?t

\bpavnee?t(?!(?:'s)? name\b)
  • \bpavnee?t防止部分匹配的单词边界,匹配pavnetpavneet
  • (?!负前瞻
    • (?:'s)? 可选地匹配's和一个空格
    • name\b匹配name和单词边界
  • )关闭前瞻

Regex demo

相关问题 更多 >