gpt4 book ai didi

python - 正则表达式来匹配某些字符

转载 作者:行者123 更新时间:2023-11-30 23:03:30 24 4
gpt4 key购买 nike

我有这样的字符串...

"1. yada yada yada (This is a string; "This is a thing")
2. blah blah blah (This is also a string)"

我想回来...

['this is a string', 'this is also a string']

所以它应该匹配“(”和“;”之间或“(”和“)”之间的所有内容

这是我到目前为止在 python 中所拥有的与我想要的部分相匹配的部分,但我不知道如何将它们削减以返回我真正想要的内容...

pattern = re.compile('\([a-zAZ ;"]+\)|\([a-zAZ ]+\)')
re.findall(pattern)

它返回这个...

['(This is a string; "This is a thing"), '(This is also a string)']

添加编辑以获取更多信息:

我意识到我想省略的数字文本部分上方有更多括号......

"some text and stuff (some more info)
1. yada yada yada (This is a string; "This is a thing")
2. blah blah blah (This is also a string)"

我不想匹配“(更多信息)”,但我不确定如何仅在数字后面包含文本(例如 1.lskdfjlsdjfds(我想要的字符串))

最佳答案

你可以使用

\(([^);]+)

regex demo is available here .

请注意我在未转义括号的帮助下设置的捕获组:使用此子模式捕获的值由 re.findall method 返回,而不是整场比赛。

很匹配

  • \( - 文字 (
  • ([^);]+) - 匹配并捕获 ); 之外的 1 个或多个字符

Python demo :

import re
p = re.compile(r'\(([^);]+)')
test_str = "1. yada yada yada (This is a string; \"This is a thing\")\n2. blah blah blah (This is also a string)"
print(p.findall(test_str)) # => ['This is a string', 'This is also a string']

关于python - 正则表达式来匹配某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34068211/

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