0

次のような行を含むいくつかの入力があります。

5feet
23m^2
7 m/s

これらを次のように書き換えたいと思います。

5 feet
23 m^2
7 m/s

そしてそのために私は使うことができます:

re.sub(r"([0-9])(?=[a-zA-Z])",r"\1*","5feet")

ただし、次のような数値もあります。

23e-7
58.234e-200

上記のパターンに一致します。

正規表現を最初のグループと何らかの形で一致させ、2 番目のグループを除外する方法はありますか?

4

1 に答える 1

1

そのケースを除外するために、否定的な先読みアサーション(?!...)( の反対) を追加できます。(?=...)

re.sub(r"([0-9])(?=[a-zA-Z])(?!e[+-]?\d)",r"\1*","5feet")
于 2013-03-09T22:55:01.010 に答える