[英]python Regex match exact word
我試圖匹配地址的不同表達式:
示例:'398 W. Broadway'
我想匹配W.或E.(東)或Pl。 為了地方...等
使用這個正則表達式非常簡單
(W.|West)
例如, (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>
請參閱search() vs. match()
:
Python提供了兩種基於正則表達式的基本操作:re.match()僅在字符串的開頭檢查匹配,而re.search()檢查字符串中的任何位置(這是Perl默認執行的操作) )。
.match()
約束搜索從字符串的第一個字符開始。 請改用.search()
。 還要注意.
匹配任何字符(換行符除外)。 如果要匹配文字句點,請將其轉義( \\.
而不是plain .
)。
withWithout = raw_input("Enter with or without: \n")
if re.match('with|without', withWithout):
print "You enterd :", withWithout, "So I will DO!", withWithout
elif not re.match('with|without', withWithout):
print " Error! you can only enter with or without ! "
sys.exit()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.