Python 3 - 正则表达式 - 匹配字符串少一个字符

时间:2015-02-19 04:49:14

标签: python regex

所以我想编写一个与一个字符相匹配的正则表达式。例如:

wordList = ['inherit', 'inherent']
for word in wordList:
    if re.match('^inhe....', word):
        print(word)

理论上,它会打印继承和固有,但我只能打印它固有的。那么我怎样才能匹配一个字母短而不只是擦除其中一个点(。)

2 个答案:

答案 0 :(得分:3)

(的被修改

仅匹配固有,您可以使用.{4}

re.match('^inhe.{4}', word)

....$

re.match('^inhe....$')

答案 1 :(得分:0)

正则表达式可能不是最好的工具,如果你只是想知道单词Y是否以单词X的前N-1个字母开头,请执行以下操作:

if Y.startswith( X[:-1] ):
    # Do whatever you were trying to do.

X [: - 1]获取除X的最后一个字符之外的所有字符(如果X是空字符串,则为空字符串)。

如果Y以' blah'开头,Y.startswith(' blah')将返回true。