我正在使用python进行一些文本比较。文本格式类似于44=100
。
假设我有2个文字44=100
和44=3001
。我将=
左侧的字符串称为标记,右侧是值。
现在我需要比较它们的标签和值。标记必须相同,44
等于44
,但值不必,只要其格式相同即可。即。 100
和3001
格式相同(正常数字)。但1.0E+7
中的44=1.0E+7
不同。重点是价值比较。即。我编写了一个脚本comp.py,当我运行comp.py 2000 30010
时,我会得到输出true
;当我运行comp.py 100000 1.0E+8
时,输出为false
。我该怎么做?我正在考虑将值转换为正则表达式并将其与其他表达式进行比较。
伪代码:
rex1 = '100000'.getRegrex(), rex2 = '1.0E+8'.getRegrex(), rex1.compare(rex2)
这是一种可行的方法吗?有什么建议吗?
答案 0 :(得分:1)
rex1 ='100000'.getRegrex(),rex2 ='1.0E + 8'.getRegrex(),rex1.compare(rex2)
你的做法是错误的。从给定的字符串中“推断”正则表达式不仅困难而且不合逻辑。你要做的是:
答案 1 :(得分:1)
实际上,您对rex1 = '100000'.getRegrex()
的想法可以完成
rex1 = re.compile('10000')
但正如Thrustmaster指出的那样,您可能希望使用更多数据模式的抽象来定义正则表达式。