我的问题是我需要在一个字符串中找到多个元素.
例如,我有一个看起来像这样的字符串:
line = if ((var.equals("INPUT")) || (var.equals("OUTPUT"))
Run Code Online (Sandbox Code Playgroud)
然后我得到这个代码来找到'("'和'")'之间的所有内容
char1 = '("'
char2 = '")'
add = line[line.find(char1)+2 : line.find(char2)]
list.append(add)
Run Code Online (Sandbox Code Playgroud)
目前的结果是:
['INPUT']
Run Code Online (Sandbox Code Playgroud)
但我需要结果看起来像这样:
['INPUT','OUTPUT', ...]
Run Code Online (Sandbox Code Playgroud)
在第一场比赛结束后,它停止搜索其他比赛,但我需要在该字符串中找到与此搜索匹配的所有内容.
我还需要将每个匹配附加到列表中.
最简单的:
>>> import re
>>> s = """line = if ((var.equals("INPUT")) || (var.equals("OUTPUT"))"""
>>> r = re.compile(r'\("(.*?)"\)')
>>> r.findall(s)
['INPUT', 'OUTPUT']
Run Code Online (Sandbox Code Playgroud)
诀窍是使用.*?哪个是非贪婪的*.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |