在Python中使用正则表达式创建匹配

2024-07-05 09:50:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用正则表达式来匹配某一行,例如:

(.0025 = 625 dollars per contract)

我有一个regex,我用它来表示一个类似的表达式,它完成了工作。但是,我想知道是否有更好的实施方案:

new_string = re.search(r'.*?\([^$]*?([\$|\d][^)]* per contract)\)', cell)

我知道我可以改变它寻找美元符号的位置,但还有其他的东西吗?你知道吗

如果你也能解释一下你的正则表达式,那会很有帮助。你知道吗


Tags: renewsearchstring表达式符号cellregex
1条回答
网友
1楼 · 发布于 2024-07-05 09:50:05

如果你总是想收集价格,你可以这样做:

regex_string = r'= (.*? per contract)'

它抓住了:

'625 dollars per contract'

它所做的一切就是在等号(以及它后面的空格)和单词“per contract”之间取任何值。因为您的regex假设单词“per contract”总是存在的,所以我的也一样。你知道吗

如果你只是想要价格,你可以这样做:

>>>regex_string = r'= (.*?) per contract'
>>>matchobj = re.search(regex_string, "(.0025 = 625 dollars per contract)")
>>>matchobj.groups()
('625 dollars',)

相关问题 更多 >