Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用正则表达式提取特定单词之前的单词_Python_Regex_Match - Fatal编程技术网

如何在python中使用正则表达式提取特定单词之前的单词

如何在python中使用正则表达式提取特定单词之前的单词,python,regex,match,Python,Regex,Match,我需要在特定单词之前提取单词 我的数据是 data="""70MHeAhULOY8KHVLaBwcQHzAAegQICBAF">Similar</a> </li></ol></div></div></span></div><div class="s"><div> <span class="st">Mail: Consumer Advisory Service, PO

我需要在特定单词之前提取单词

我的数据是

data="""70MHeAhULOY8KHVLaBwcQHzAAegQICBAF">Similar</a>
</li></ol></div></div></span></div><div class="s"><div> 
 <span class="st">Mail: Consumer Advisory Service, PO Box 
 1673, MELBOURNE <em>VIC</em> 3001. Email: Click here to 
contact us via email. Any personal information you give 
 ;...kJP70MHeAhULOY8KHVLaBwcQIDAKegQIBxAE">Cached  </a>
 </li></ol></div></div></span></div><div class="s"><div> 
 <span class="st">Australia. Consumer Advisory Service 
 GPO Box 
1673. MELBOURNE, <em>VIC</em>, 3001. AUSTRALIA. New Zealand. 
Cadbury Freepost 577. PO Box 890. Dunedin&nbsp;...</span>
data=“”70mheahuloy8khvlabwchzaaegqicbaf”>类似

邮件:消费者咨询服务,邮政信箱
1673年,墨尔本维多利亚3001。电子邮件:单击此处查看
通过电子邮件与我们联系。您提供的任何个人信息
;...kJP70MHeAhULOY8KHVLaBwcQIDAKegQIBxAE“>缓存

澳大利亚.消费者咨询服务
GPO盒
1673年,维多利亚州墨尔本,3001年,澳大利亚,新西兰。
吉百利邮政577。邮政信箱890。达尼丁。。。
我正在尝试提取“VIC”之前的单词

我的预期输出是
['1673,墨尔本','1673.墨尔本']
,因为我的数据中有两个匹配项

我的代码:
re.find\u all(r“\*+\s(\*)vic”,data)


但不起作用

您可以使用此正则表达式提取VIC之前的两个单词


你能分享你到目前为止尝试过的吗?用我的代码更新,请检查你需要使用
beautifulsoup
lib来解析HTML。不,我正在尝试使用正则表达式提取信息。不需要汤对象。你的所有数据都将在此模式中
Box 1673,MELBOURNE VIC 3001。
?开始时有文本框?很好,如何仅提取在VIC之前输入一个单词如果只提取一个单词,可以使用此\s+([^\s]+?)\s*VIC
\s+([^\s]+?\s+[^\s]+?)\s*<em>VIC<\/em>
import re
data='70MHeAhULOY8KHVLaBwcQHzAAegQICBAF">Similar</a></li></ol></div></div></span></div><div class="s"><div>  <span class="st">Mail: Consumer Advisory Service, PO Box  1673, MELBOURNE <em>VIC</em> 3001. Email: Click here to contact us via email. Any personal information you give  ;...kJP70MHeAhULOY8KHVLaBwcQIDAKegQIBxAE">Cached  </a> </li></ol></div></div></span></div><div class="s"><div>  <span class="st">Australia. Consumer Advisory Service  GPO Box 1673. MELBOURNE, <em>VIC</em>, 3001. AUSTRALIA. New Zealand. Cadbury Freepost 577. PO Box 890. Dunedin&nbsp;...</span>'
d = re.findall(r"\s+([^\s]+?\s+[^\s]+?)\s*<em>VIC<\/em>",data)
print(d)
['1673, MELBOURNE', '1673. MELBOURNE,']