我是 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/

10-17 01:45