Return python 括号内的值
Return the values inside parenthesis in python
我正在尝试提取括号内下一行的值。
line=(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))
预期答案是:
panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)
但使用以下
pattern=re.compile(r'\((.*?)\)')
match = re.search(pattern, line)
我只收到以下输出。
(panel, wxID_EXIT, wxT("Quit")
不幸的是我对正则表达式的了解非常limited.Can有人帮我得到了预期的答案。
通过 .*?
,您关闭了正则表达式的 greedy 方面。只需删除问号即可再次启用它(这是默认设置):
pattern=re.compile(r'\((.*)\)')
完整测试:
import re
line='(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))'
pattern=re.compile(r'\((.*)\)')
match = re.search(pattern, line)
print(match.group(1)=='panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)')
True
我认为你可以在这里避免使用正则表达式:
text = '''line=(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))'''
parts = text.split("=")
result = parts[1][1:-1]
你可以这样做:
>>> line='(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))'
>>> re.search(r'^\s*\((.*)\)\s*$', line).group(1)
'panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)'
或者,直接 Python,你可以这样做:
>>> line.strip()[1:-1]
'panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)'
首先用 .strip()
去除空格,然后用 [1:-1]
去除字符串两边的一个字符
我正在尝试提取括号内下一行的值。
line=(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))
预期答案是:
panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)
但使用以下
pattern=re.compile(r'\((.*?)\)')
match = re.search(pattern, line)
我只收到以下输出。
(panel, wxID_EXIT, wxT("Quit")
不幸的是我对正则表达式的了解非常limited.Can有人帮我得到了预期的答案。
通过 .*?
,您关闭了正则表达式的 greedy 方面。只需删除问号即可再次启用它(这是默认设置):
pattern=re.compile(r'\((.*)\)')
完整测试:
import re
line='(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))'
pattern=re.compile(r'\((.*)\)')
match = re.search(pattern, line)
print(match.group(1)=='panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)')
True
我认为你可以在这里避免使用正则表达式:
text = '''line=(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))'''
parts = text.split("=")
result = parts[1][1:-1]
你可以这样做:
>>> line='(panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20))'
>>> re.search(r'^\s*\((.*)\)\s*$', line).group(1)
'panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)'
或者,直接 Python,你可以这样做:
>>> line.strip()[1:-1]
'panel, wxID_EXIT, wxT("Quit"),wxPoint(20, 20)'
首先用 .strip()
去除空格,然后用 [1:-1]