正则表达式与转义序列匹配

时间:2016-06-15 14:13:12

标签: python regex

var glob_json =  
{  
    abc

我想匹配{的一些东西,所以我使用了类似下面的内容:

if re.match(r"(.*)var glob_json =\n{", line, re.DOTALL | re.MULTILINE)

但它不起作用,因为如果正则表达式匹配打印stmt但我没有得到某些东西。我想要做的就是在花括号之后和abc之前插入文本。

1 个答案:

答案 0 :(得分:1)

{是一个元字符,因此使用\{转义它肯定会有效。但是,如果我正确理解您的问题,可能会有一个更简单的解决方案。此模式匹配非{

的所有内容
[^{]

[]内,您不需要转义(大多数)元字符。如果您希望匹配多个内容,直到找到{,然后在匹配中添加{,则可以为其添加+*,这意味着分别是“至少一个”或“一个或多个”。所以......

if re.match(r"[^{]+\{", line) ...