标签: python string design-patterns find wildcard
我对Python很陌生。我知道find函数接受一个字符串p和一个子字符串s并返回s在p中显示的索引。但如果我有像
p = 'abc' text = 'aaaabbaac' text.find(p)
是否可以编写一个方法,允许我将通配符设置为b并仍然返回a和c匹配的索引,而不是返回-1?
我在一个有两种方法的类中使用它,find方法和" setwildcard"采取一个角色并做我上面描述的方法。默认情况下,通配符设置为“无”。
答案 0 :(得分:0)
您可以将compile正则表达式模式转换为正则表达式对象,可以使用其match()和search()方法进行匹配。
match()
search()
import re reObj2 = re.compile(pattern) reObj2.search(s)
re.match()只会在字符串的开头匹配而不是匹配 每行的开头。 re.search()扫描字符串,查找常规的第一个位置 表达式模式产生匹配,并返回相应的 MatchObject实例。
re.match()只会在字符串的开头匹配而不是匹配 每行的开头。
re.search()扫描字符串,查找常规的第一个位置 表达式模式产生匹配,并返回相应的 MatchObject实例。
此外,如果您想要返回字符串中所有非重叠的模式匹配,您可以使用re.findall()。
re.findall()
查看re。
希望这有帮助。