-1

私はいくつかのテキスト比較を行うためにPythonを使用しています。テキスト形式はのようなもの44=100です。
たとえば、2つのテキストが44=100あり44=3001ます。左側の文字列を=タグ、右側の文字列を値と呼びます。
次に、それらのタグと値を比較する必要があります。タグは同じである必要があり、44等しい必要があり44ますが、形式が同じである限り、値は同じである必要はありません。すなわち。1003001同じ形式(通常の数字)です。しかし1.0E+7、で44=1.0E+7は異なります。
tポイントは値の比較です。すなわち。スクリプト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()実現できます

rex1 = re.compile('10000')

しかし、Thustmaster が指摘したように、データのパターンをより抽象化して正規表現を定義したい場合があります。

于 2013-07-13T04:28:56.787 に答える
1

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

あなたのアプローチは間違っています。与えられた文字列から正規表現を「推測」することは難しいだけでなく、非論理的でもあります。あなたがすることは次のとおりです。

  • タイプを定義します。タイプごとに、対応する正規表現があります。
  • 入力テキストを定義済みのすべてのタイプと比較し、どのタイプであるかを確認します。
  • 2 つのタイプを比較します。
于 2012-08-01T05:48:25.003 に答える