我有一個字符串,它看起來像這樣Python的正則表達式援助
24 (prem)-42-48 (6 ext)
,我想擺脫它是什麼
['24 prem', '42', '48', '6 ext']
我能得到的數字是這樣的:
import re
MyString = r'24 (prem)-42-48 (6 ext)'
Splits = re.findall(r'(\d+)', MyString) # ['24','42','48','6']
但我失去了成功丁文。
我也可以這樣做:
import re
MyString = r'24 (prem)-42-48 (6 ext)'
Splits = re.findall(r'[\\s:\\-]', MyString) # ['24 (prem)','42', '48 (6 ext)']
但忽略了(6 ext)
項目。看到響應後
編輯:
我想也許我來處理這將是分裂的數字,然後只用str.replace擺脫的「(」和「」字最簡單的方法。
那麼,有沒有一個簡單的正則表達式語句數的第一個字符之前分割字符串?
結果從
'24 (prem)-42-48 (6 ext)'
將
['24 (prem)-','42-',48 (', '6 ext)]
所以,*模式是什麼*?你給了我們一個輸入+期望的輸出行,但沒有提到輸入怎麼變化*。 –
你的最後一個模式也是無效的;該代碼行生成'[' - ',' - ']'並且可以找到所有反斜槓,冒號,破壞字符's''。 –
最後但並非最不重要的一點是,您的示例輸出是a)不是Python,b)僅使用正則表達式不可能; '['24','prem','42','48','6 ext']'是可行的,但不是'24 prem'作爲第一個元素。 –