2015-04-15 234 views

回答

2

您需要使用錨點。

>>> import re 
>>> x = 'a1h3c' 
>>> pattern = re.compile(r'^a.*c$') 
>>> pattern.match(x) != None 
True 

這將檢查第一個和最後一個字符是ac。它不會關心中間的字符。

如果你想檢查恰好有三個字符出席中間那麼你可以使用這個,

>>> pattern = re.compile(r'^a...c$') 
>>> pattern.match(x) != None 
True 

注意,線錨$的結束是很重要的,沒有$a...c將匹配afoocbarbuz

1
if str1[0] == str2[0]: 
    # do something. 

您可以隨意多次重複此聲明。

這是切片。我們正在獲得第一個價值。要獲得最後的值,請使用[-1]

我還會提及,通過切片,只要您知道字符串開頭或結尾的相對位置,字符串的大小就可以是任意大小。

+0

我相信op正在尋找一個涉及正則表達式的答案 – AndrewGrant

+0

@AndrewGrant是什麼讓你覺得呢? – Zizouz212

+0

「Python字符串正則表達式」 – AndrewGrant

1

你的問題可以通過字符串索引來解決,但是如果你想要一個正則表達式的介紹,這裏你去。

import re 
your_match_object = re.match(pattern,string) 

你的情況的模式將是

pattern = re.compile("a...c") # the dot denotes any char but a newline 

從這裏,你可以看到,如果你的字符串符合這種模式與

print pattern.match("a1h3c") != None 

https://docs.python.org/2/howto/regex.html

https://docs.python.org/2/library/re.html#search-vs-match