-1

我正在使用 python 进行一些文本比较。文本格式类似于44=100.
假设,我有 2 个文本,44=100并且44=3001. 我称左边的字符串=为标签,右边的为值。
现在我需要比较它们的标签和值。标签必须相同,44等于44,但值不必相同,只要其格式相同即可。IE。100并且3001格式相同(普通数字)。但1.0E+744=1.0E+7不同。
t重点在于价值比较。IE。我写了一个脚本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) 

是一种可行的方法吗?有什么建议吗?

4

2 回答 2

1

rex1 = '100000'.getRegrex(), rex2 = '1.0E+8'.getRegrex(), rex1.compare(rex2)

你的方法是错误的。从给定的字符串中“推导出”一个正则表达式不仅困难而且不合逻辑。你会做的是:

  • 定义你的类型。对于每种类型,您都会有一个相应的正则表达式。
  • 将您的输入文本与您定义的所有类型进行比较,并检查它属于哪种类型。
  • 比较两种类型。
于 2012-08-01T05:48:25.003 回答
1

其实你的想法rex1 = '100000'.getRegrex()可以实现

rex1 = re.compile('10000')

但正如 Thustmaster 所指出的,您可能希望使用更抽象的数据模式来定义正则表达式。

于 2013-07-13T04:28:56.787 回答