这里的代码是找出子串的个数。 我尝试了其他方法,但使用这一行代码更短并且工作原理相同。
count=len(re.findall('(?='+sub_string+')', string))
这可能会提供一些背景信息。
import re
def count_substring(string, sub_string):
count=len(re.findall('(?='+sub_string+')', string))
return count
最佳答案
'?=' 是积极前瞻断言的一部分。您正在捕获最多但不包括您的 sub_string 的匹配项。
为了您的目的,这可能更简洁。
count = len(re.findall(sub_string, string))
可以在此处找到有关正则表达式断言的更全面的解释。 https://www.regular-expressions.info/lookaround.html
关于python - '(?='和 ')'在这里做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57063415/