我正在尝试创建一个正则表达式来查找 Perl 代码中的所有变量。
变量如下所示:$variable_test
。
所以这是我使用的正则表达式: ^\$\w+$
这给了我Python中的这一行:
match = re.findall(r'^\$\w+$',line)
它可以工作,除非变量被特殊字符包围,例如 ',",\,/
并且我不明白为什么。所以对于像 /"$ 这样的变量例如 test
,将不会有匹配项。我不明白为什么会发生以及如何解决问题。
感谢您的帮助
最佳答案
正则表达式的第一个字符 '^'
与字符串的开头匹配,正则表达式的最后一个字符 '$'
与字符串的结尾匹配字符串。
因此,您的正则表达式仅匹配由变量名称组成的字符串,而没有其他内容。
将正则表达式更改为 r'\$\w+'
。
关于Python findall 正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50807156/