python正则表达式匹配确切的单词

Sah*_*wal 2 python regex

我试图匹配地址的不同表达式:

示例:'398 W. Broadway'

我想匹配W.或E.(东)或Pl.为了地方...等

使用这个正则表达式非常简单

(W.|West) 例如.

然而,当我输入时,python re模块与任何东西都不匹配

>>> a
'398 W. Broadway'
>>> x = re.match('(W.|West)', a)
>>> x
>>> x == None
True
>>> 
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 9

re.match 匹配输入字符串的开头.

要匹配任何地方,请re.search改用.

>>> import re
>>> re.match('a', 'abc')
<_sre.SRE_Match object at 0x0000000001E18578>
>>> re.match('a', 'bac')
>>> re.search('a', 'bac')
<_sre.SRE_Match object at 0x0000000002654370>
Run Code Online (Sandbox Code Playgroud)

search() vs. match():

Python提供了两种基于正则表达式的基本操作:re.match()仅在字符串的开头检查匹配,而re.search()检查字符串中的任何位置(这是Perl默认执行的操作) ).