gpt4 book ai didi

python - 我可以使这个 (Python) 正则表达式更快吗?

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

我正在尝试编写一个正则表达式来匹配 ##-## 形式的字符串(其中 # 对应于任何数字),需要注意的是第二对数字可以成为“00”。该表达式应该可以与 re.search 一起使用,并且应该捕获匹配模式的第一次出现。

这是我得到的(有效):

the_regex = re.compile("(\d\d-(?:0[123456789]|[123456789]\d))")

我不喜欢分支或长字符组。任何人都可以建议一个更好的(更清晰的,或可选的,更有效的)正则表达式吗?

(是的,这是一个微优化,我已经注意到 Knuth 的适当警告。)

最佳答案

长字符组很容易通过使用字符范围来解决:

r"(\d\d-(?:0[1-9]|[1-9]\d))"

但是你不能避开这里的分支。

关于python - 我可以使这个 (Python) 正则表达式更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21757936/

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