gpt4 book ai didi

python - 如何将 Python 中的正则表达式匹配到某个字符,如果不匹配则返回 None?

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:31 24 4
gpt4 key购买 nike

我想知道是否可以将正则表达式匹配到特定字符 (':'),但要避免像 [^:]* 这样的否定逻辑表达式,因为如果没有遇到匹配,我希望它返回 None .查看预期的示例:

import re
string='AbcS:sdaf'
pattern='whatever needed' # match all up to :
re.search(pattern, string).group()

'AbcS'

string2='AbcSsdaf'
pattern2='whatever needed' # match all up to :
re.search(pattern2, string2).group()

None

在其他帖子中,我看到一些提到 pattern='[^:]*' 的答案,但这不是我想要的,因为如果字符串中没有 ':',则返回所有字符串。

谢谢大家

最佳答案

试试这个正则表达式:

^(?=.*:)[^:]*

Click for Demo

解释:

  • ^ - 断言字符串的开头
  • (?=.*:) - 正面前瞻以确保该行包含 :
  • [^:]* - 匹配出现次数超过 0 次的任何不是 :
  • 的字符

关于python - 如何将 Python 中的正则表达式匹配到某个字符,如果不匹配则返回 None?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54626569/

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