2

数値とメートル単位を含む文字列を分割したいと考えています。私はこれを試しました:

foo = "10mm"
match = re.match(r"([0-9]+)([a-z]+)", foo, re.I)

num = match.group(1)
unit = match.group(2)

これは整数では機能しますが、数値にコンマが含まれている場合は機能しません。そのために何を変えなければなりませんか?

4

2 に答える 2

2

またはを許可したいが、10またはを許可したく10,0ない場合は、使用できます,,,,123123,

match = re.match(r"([0-9]+(?:,[0-9]+)?)([a-z]+)", foo, re.I)

実際にドット/ピリオド ( 10.0) を意味する場合は、忘れずにエスケープする必要があります。

match = re.match(r"([0-9]+(?:\.[0-9]+)?)([a-z]+)", foo, re.I)
于 2013-04-16T10:22:32.187 に答える