gpt4 book ai didi

regex - 正则表达式转换为状态机的简短示例?

转载 作者:行者123 更新时间:2023-12-03 13:38:52 28 4
gpt4 key购买 nike

在 Stack Overflow 播客 #36 (https://blog.stackoverflow.com/2009/01/podcast-36/) 中,表达了这种观点:
一旦您了解设置状态机是多么容易,您将永远不会再尝试不恰本地使用正则表达式。
我做了一堆搜索。我找到了一些学术论文和其他复杂的例子,但我想找到一个简单的例子来帮助我理解这个过程。我使用了很多正则表达式,并且我想确保我永远不会再“不恰本地”使用一个。

最佳答案

在任何模式上使用 python 鲜为人知的 re.DEBUG 标志的一种相当方便的方法来帮助查看这一点:

>>> re.compile(r'<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>', re.DEBUG)
literal 60
subpattern 1
in
range (65, 90)
max_repeat 0 65535
in
range (65, 90)
range (48, 57)
at at_boundary
max_repeat 0 65535
not_literal 62
literal 62
subpattern 2
min_repeat 0 65535
any None
literal 60
literal 47
groupref 1
literal 62

'literal' 和 'range' 后面的数字是指它们应该匹配的 ascii 字符的整数值。

关于regex - 正则表达式转换为状态机的简短示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/525004/

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