Python findall正则表达式不起作用

时间:2018-06-11 22:59:48

标签: python regex

我正在尝试创建一个正则表达式来查找perl代码中的所有变量。
变量看起来像:$variable_test
所以这是我使用的正则表达式:^\$\w+$
这给了我Python中的这一行:

match = re.findall(r'^\$\w+$',line)

它有效,除非变量被特殊字符包围,例如',",\,/,我不明白为什么。因此,对于像/"$test之类的变量,将没有匹配项。我无法弄清楚它为什么会发生以及如何解决问题。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

正则表达式的第一个字符'^'与字符串的开头匹配,正则表达式的最后一个字符'$'与字符串的结尾匹配。

因此,你的regexp只匹配由变量名组成的字符串,而不是其他任何内容。

将正则表达式更改为r'\$\w+'