我需要用python匹配给定文本中的正则表达式模式。在
正文是:
"""
2010 Toyota FJ Cruiser FJ CRUISER
Int. Color:
Ext. Color:
Black
Trans:
Automatic
VIN:
JTEZU4BF7AK009445
Stock:
122821B
DIFFERENTIALBLACK
Status:
Body Style:
SUV
Engine:
Gas V6 4.0L/241
Dealership: Universal Toyota
$29,988*
Price
View More Information
Compare?
"""
从本文中我需要提取“JTEZU4BF7AK009445”(长度为17)此模式在vin之后:可能
我用这个模式
^{pr2}$但差分黑不应匹配
以及我使用的模式
price_pat = re.compile('(\$[0-9\,\.]+)')
以匹配价格范围(“$”符号+值)
在这里,我需要检查这个价格匹配模式只在出现VIN模式的50个字符之前和之后。 因为在某些情况下,我有更高的价格价值观。所以,我需要过滤该VIN模式存在的50个字符之前和50个字符之后的文本
Plz应该怎么做?在
一个肮脏的黑客,但它会起作用的。在
输出=
'JTEZU4BF7AK009445'
首先,让我们通过将所有空白规范化为一个空格符号来简化文本:
这使得查找车辆识别码(VIN)变得更容易:
^{pr2}$然后您可以在字符串中获取VIN:的位置,并将VIN_position-50,VIN_position+50传递到.findall方法:
在您的文本中,价格从VIN起超过50个字符,即,您需要扩展此边界(100个工作正常):
如果您不必使用regex(它们是a**中的一个难题),我推荐以下解决方案:
我希望这足够了!在
相关问题 更多 >
编程相关推荐