我需要进行字符串比较以查看2个字符串是否相等,如:
>>> x = 'a1h3c'
>>> x == 'a__c'
>>> True
独立于字符串中间的3个字符。
答案 0 :(得分:2)
你需要使用锚点。
>>> import re
>>> x = 'a1h3c'
>>> pattern = re.compile(r'^a.*c$')
>>> pattern.match(x) != None
True
这将检查第一个和最后一个字符为a
和c
。它不会关心中间的角色。
如果你想检查中间正好有三个字符,那么你可以使用它,
>>> pattern = re.compile(r'^a...c$')
>>> pattern.match(x) != None
True
请注意,行锚$
的结尾很重要,如果没有$
,a...c
将匹配afoocbarbuz
。
答案 1 :(得分:1)
if str1[0] == str2[0]:
# do something.
您可以根据需要多次重复此声明。
这是切片。我们获得了第一个价值。要获取最后一个值,请使用[-1]
。
我还要提到,只要你知道字符串开头或结尾的相对位置,通过切片,字符串可以是任意大小。
答案 2 :(得分: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