正则表达式介于 “ 之间,但不能超越

本文关键字:但不能 超越 之间 正则表达式 | 更新日期: 2023-09-27 18:19:02

我想使用正则表达式来捕获"之间的所有内容(包括"本身(问题是这样的:

正则表达式:

'''"(.[^,][^'''"]*)'''"

发短信:

"text", text2, "text"
    meeeh = "Y"
else
    meeeh2 = "N"

使用此正则表达式,将选择以下选项:

"text"    "text"
         "Y"
else
    meeeh2 = " 

问题似乎是,当"后面没有任何东西或有换行符时,正则表达式不会停止。

有什么想法吗?

正则表达式介于 “ 之间,但不能超越

.*?('".*?'").*?

试试这个。请看一下演示。

http://regex101.com/r/cA4wE0/7

当它到达"Y"的第一个"时,这就是正则表达式的作用:

  • '" 匹配"
  • .比赛Y
  • [^,]匹配"
  • [^'"]* 匹配else meeeh2 =
  • '"比赛"
本质上,您是在引号之间寻找"任何字符,然后是任何

不是逗号的字符,然后是双引号以外的任何字符,直到最后"。这意味着至少 2 个字符,但Y只有 1 个字符。

如果您的意思不是引号之间的引号,请使用 '"([^"]*)'" 。如果你的意思不是引号和逗号'"([^",]*)'"应该做的。

相关文章: