我有一个
import re
s = """
/* comments */
vector<CWaypoint> Vparam; // comment
int cValue=2049; // comment
double param=0.01; // comment
"""
exp = re.compile(r"(?:\s|\b)(.+?)=(.+?)\b;")
print(exp.findall(s))
我的预期产出是
[(cValue,2049), (param,0.01)]
但是为什么我要在变量名之前获取数据类型,如下所示
[('int cValue', '2049'), ('double param', '0.01')]
为什么即使不贪婪,边界也不起作用
请注意,
\s
还将匹配换行符,.+
将匹配包括空格在内的任何字符我建议你在
=
之前使用[^\s=]+
相关问题 更多 >
编程相关推荐