我有一组表达式,可能有很多冗余代码。
例如:
(number) is larger than (number)
或
(string) has exactly (integer) characters
我有很多这些类型的表达式,我可以复制粘贴正则表达式为[-+]?\d*\.\d+|\d+
,但最终会产生大量冗余代码。所以我想知道是否有一个方法(模块)允许我在Python中更高效地执行此操作?
在最理想的情况下,参数将根据其类型进行处理。数字将全部准备好作为浮点数处理,整数作为整数处理等等。
我可能(这就是我的想法)正则表达式不是正确的工具。
答案 0 :(得分:0)
所以我会多次例如这个字符串
\d*\.\d+|\d+
,因为我想在大多数这些正则表达式中匹配一个浮点数。所以我会更好地以其他方式匹配它们。因为如果我想更改浮动的正则表达式,我必须搜索 并全部替换它们。
您可以将模式(对于子字符串)或(对于完整的字符串更好)分配给变量一次{e 3}},例如。 G。 numprog = re.compile(r'[-+]?\d*\.\d+|\d+')
,并使用此变量多次使用其match()
和search()
方法进行匹配,例如: G。 result = numprog.match(string)
。