我是 Python 新手,仍在学习正则表达式,所以这个问题对一些正则表达式专家来说可能听起来微不足道,但你去吧。
我想我的问题是 this question about finding a string between two strings 的概括。我想知道:如果这个模式(initial_substring + substring_to_find + end_substring)在一个长字符串中重复多次怎么办?
例如
test='someth1 var="this" someth2 var="that" '
result= re.search('var=(.*) ', test)
print result.group(1)
>>> "this" someth2 var="that"
相反,我想得到一个像
["this","that"]
的列表。我该怎么做?
最佳答案
使用 re.findall()
:
result = re.findall(r'var="(.*?)"', test)
print(result) # ['this', 'that']
如果 test
字符串包含多行,请使用 re.DOTALL
标志。re.findall(r'var="(.*?)"', test, re.DOTALL)
关于Python:在两个字符串之间找到一个字符串,重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42302482/