[英]Creating a match with regex in Python
我目前正在使用正則表達式來匹配某些行,例如:
(.0025 = 625 dollars per contract)
我有一個正則表達式,用於類似的表達式,可以完成工作。 但是,我想知道是否有更好的實現方法:
new_string = re.search(r'.*?\([^$]*?([\$|\d][^)]* per contract)\)', cell)
我知道我可以更改尋找美元符號的點,但是還有其他東西嗎?
如果您還可以解釋您的正則表達式,則將有所幫助。
如果您始終想收取價格,則可以執行以下操作:
regex_string = r'= (.*? per contract)'
這引起了:
'625 dollars per contract'
它所要做的只是取等號(及其后的空格)和“每個合同”一詞之間的任何內容。 由於您的正則表達式假設“每份合同”一詞始終存在,因此我的也是如此。
如果您只想要價格,則可以執行以下操作:
>>>regex_string = r'= (.*?) per contract'
>>>matchobj = re.search(regex_string, "(.0025 = 625 dollars per contract)")
>>>matchobj.groups()
('625 dollars',)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.