javascript - 正则表达式匹配带引号的字符串忽略双引​​号

标签 javascript regex

我正在尝试匹配 Excel 样式公式中带引号的字符串:

= "Red" & "Blue" & "Green"

以下正则表达式可以很好地找到匹配项:

".*?"

我遇到问题的地方是匹配包含 Excel/VBScript 转义引号(两个引号在一起):

= "Red" & "Blue" & """Green"" as grass"

我想要在一场比赛中捕获双引号,所以我最终得到:"Red""Blue""""Green""像草”

我在 JavaScript 中执行此操作。

最佳答案

看起来这个正则表达式适合你:

/"(?:[^"]|"")*"/g

解释:

  1. 以双引号开头的字符串
  2. 里面没有引号或双引号
  3. 后跟一个引号字符

JSFiddle:http://jsfiddle.net/S22Qe/

正则表达式 101:http://regex101.com/r/mJ0pX0/1

关于javascript - 正则表达式匹配带引号的字符串忽略双引​​号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24499652/

相关文章:

javascript - jQuery:滚动时更改页码的CSS

用于替换部分字符串(包括单引号 ('))的正则表达式

php - 正则表达式 - 让任何不是 ' 或 ; 的字符通过

ruby-on-rails - ruby (Rails) gsub : pass the captured string into a method

java - 正则表达式 - 使用匹配组

javascript - 如何将函数 A 的返回对象作为参数传递给函数 B?

javascript - Js正则表达式精确模式

r - 如何在 R 中使用 gsub() 函数替换 '+'

javascript - 如何在下拉列表中将事件类添加到列表和父列表

JavaScript 没有兑现 promise