私はこの問題をWiktorStribiżewの提案で解決しました。Pythonの正規表現のドット文字
編集済み:リストの最初の要素を一度に抽出する必要があります。その番号に対して他の操作を行う必要があるためです。私はテストのためだけに自分のコードにループを使用します。
算術式を数値のリストに分割したいと考えています。例えば
:1 + 0.2〜(3^4)* 5 - > [ '1'、 '0.2'、 '3'、 '4'、 '5']
私は再ライブラリを使用Pythonでは、式はドット文字 '。'で分割されています私は 'を含んでいませんが。デリミタで。
入力は、1 + 0.2である場合すなわち、出力がされる[1 'を '0'、 '2']、しなければならない[ '1'、 '0.2']
コードされます下記:
#!/bin/python
import re
delims = re.compile(r"[+-/*///^)]")
while True:
string = input()
res = list()
i = 0
while i < len(string):
if string[i] >= '0' and string[i] <= '9':
num_str = delims.split(string[i:], 1)[0]
res.append(num_str)
i += len(num_str) - 1
i += 1
print(res)
この質問に対するご意見は本当にありがとうございます。
'--'で範囲を作成したり、エスケープしたり、charクラスの最後/先頭に移動したりするには、' [ - +/* ^)] ' –
[Here](http://stackoverflow.com/questions)/32324595/regex-to-catch-special-characters/32324646#32324646のエラー)も同様の質問です。 –
ありがとう!あなたは華麗です! –