簡體   English   中英

python正則表達式匹配確切的單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM