【python】实现字符串的匹配?
2019-07-25 本文已影响0人
阿牛02
题目:给定主字符串S与模式字符串P,判断P是否是S的子串,如果是,那么找出P在S中第一次出现的下标。
分析:采用最直接的方法,逐个比较字符串中的字符。
code:
def match(s, p):
slen = len(s)
plen = len(p)
i = 0
j = 0
while i < slen and j < plen:
if list(s)[i] == list(p)[j]:
i += 1
j += 1
else:
i = i - j + 1
j = 0
if (i > slen - plen):
return -1
if j >= plen:
return i - plen
return -1
if __name__ == "__main__":
s = 'xyzabcd'
p = 'abc'
print(match(s, p))
程序的运行结果:
3
