在Python中创建与正则表达式的匹配
我目前正在使用正则表达式来匹配某一行,例如:在Python中创建与正则表达式的匹配,python,regex,Python,Regex,我目前正在使用正则表达式来匹配某一行,例如: (.0025 = 625 dollars per contract) 我有一个正则表达式,我用它来表示类似的表达式,它完成了工作。但是,我想知道是否有更好的实施方案: new_string = re.search(r'.*?\([^$]*?([\$|\d][^)]* per contract)\)', cell) 我知道我可以改变它寻找美元符号的位置,但还有其他东西吗 如果你也能解释一下你的正则表达式,那会很有帮助。如果你总是想收集价格,你可以这
(.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',)
如果你需要一些(有用的)帮助,你必须准确地解释你在寻找什么。示例:“美元”这个词总是存在吗?你的最终目标是什么?你到底想提取什么。