gpt4 book ai didi

python - 使用正则表达式查找子字符串

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:50 25 4
gpt4 key购买 nike

我遇到了正则表达式使用方面的问题。我正在使用以下正则表达式:

\\S*the[^o\\s]*(?<!theo)\\b

我用的句子是:

If the world says that theo is not oreo cookies then thetatheoder theotatheder thetatheder is extratheaterly good.

我想从输出中得到的是具有模式:the, then, thetatheder, extratheaterly?

简而言之,我可以接受“the(The)”作为不包含“theo”的完整字符串或字符串中的子字符串。

如何修改我的正则表达式来实现这一点?我想的是申请,管道操作还是问号。但似乎没有一个是可行的。

最佳答案

您可能会使用 \S以负向后视作为起始边界和负向前视以确保单词不包含 theo。

要匹配 The 或 the,您可以使模式不区分大小写。

(?<!\S)(?!\S*theo\S*)\S*the\S*

部分

  • (?<!\S)否定向后看,断言左边的不是非空白字符
  • (?!\S*theo\S*)否定前瞻,断言右边不包含theo
  • \S*the\S*匹配the被匹配 0+ 次非空白字符包围

Regex demo

如果你只使用单词字符,你也可以使用单词边界 \b

\b(?!\w*theo\w*)\w*the\w*\b

Regex demo

或者您可以断言单词的一部分是 the并使用断言匹配它,如果你匹配 t它后面不应跟heo

\b(?=\S*the\S*)[^t\s]*(?:t(?!heo)[^t\s]*)+\b

Regex demo

关于python - 使用正则表达式查找子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58550727/

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