【问题标题】:Regex everything between quotation marks, including line breaks正则表达式引号之间的所有内容,包括换行符
【发布时间】:2019-12-20 08:02:17
【问题描述】:

我在尝试执行捕获两个引号 "" 之间所有内容的正则表达式时偶然发现了一个问题。我注意到有时在这些引号之间会出现换行符,这会破坏正则表达式。

我正在使用的当前正则表达式:\"((?:(?![(]).)*)\"

这可以很好地捕获引号之间的所有内容,除非出现换行符。

任何正则表达式大师都知道如何也允许换行,这种模式让我很难过。

【问题讨论】:

  • ..或简单的flags=re.DOTALL
  • 看起来您的正则表达式正在匹配带引号的字符串,但如果 ( 位于带引号的字符串中的任何位置,则会跳过匹配项。这是你想要的吗?

标签: python regex


【解决方案1】:

你能不能简单地使用:

\"([^\"]*)\"

Demo

例如。

re.search(r'\"([^\"]*)\"', "\"a\nb\"").groups()
# Out[19]: ('a\nb',)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2020-01-20
    • 2018-10-20
    • 1970-01-01
    • 2019-04-15
    相关资源
    最近更新 更多