我在尝试执行捕获两个引号之间的所有内容的正则表达式时偶然发现了一个问题""。我注意到有时这些引号之间会出现换行符,从而破坏正则表达式。
我正在使用的当前正则表达式: \"((?:(?![(]).)*)\"
这可以很好地捕获引号之间的所有内容,除非发生换行。
任何正则表达式专家都知道如何允许换行,这种模式让我难住了。
你可以简单地使用:
\"([^\"]*)\"
Run Code Online (Sandbox Code Playgroud)
例如。
re.search(r'\"([^\"]*)\"', "\"a\nb\"").groups()
# Out[19]: ('a\nb',)
Run Code Online (Sandbox Code Playgroud)