簡體   English   中英

Python字符串正則表達式

[英]Python string regular expression

我需要進行字符串比較以查看2個字符串是否相等,例如:

>>> x = 'a1h3c'
>>> x == 'a__c'
>>> True

與字符串中間的3個字符無關。

您需要使用錨點。

>>> 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

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

您可以根據需要多次重復此語句。

這是切片。 我們正在獲得第一價值。 要獲取最后一個值,請使用[-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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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