我正在尝试为地址匹配不同的表达式:
示例:“398 W. 百老汇”
我想匹配 W. 或 E.(东)或 Pl。对于地方...等
使用这个正则表达式非常简单
(W.|West)
例如。
然而,当我输入它时,python re 模块不匹配任何东西
>>> a
'398 W. Broadway'
>>> x = re.match('(W.|West)', a)
>>> x
>>> x == None
True
>>>
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>
Python 基于正则表达式提供了两种不同的原始操作: re.match() 仅在字符串的开头检查匹配,而 re.search() 在字符串中的任何位置检查匹配(这是 Perl 默认所做的) )。
.match()
限制搜索从字符串的第一个字符开始。改为使用.search()
。还要注意.
匹配任何字符(换行符除外)。如果要匹配文字句点,请将其转义(\.
而不是 plain .
)。