正则表达式匹配非空引用子串
Regular expression matching non-empty quoted substrings
我正在寻找匹配 "batz"
但不匹配 ""
的正则表达式:bla "" and "batz" foo
/"([^"]*)"/g
匹配两者,/"([^"]+)"/g
匹配 " and "
.
这甚至可以用正则表达式实现吗?
您可以将此正则表达式用于捕获的组:
(?:""|[^"])*("[^"]+")
正则表达式详细信息:
(?:
: 启动一个非捕获组
""
:匹配""
|
: 或
[^"]
:匹配任何不是"
的字符
)*
:关闭非捕获组。 *
让该组匹配 0 次或多次出现
("[^"]+")
:匹配一个非空的双引号字符串并捕获到组#1
我正在寻找匹配 "batz"
但不匹配 ""
的正则表达式:bla "" and "batz" foo
/"([^"]*)"/g
匹配两者,/"([^"]+)"/g
匹配 " and "
.
这甚至可以用正则表达式实现吗?
您可以将此正则表达式用于捕获的组:
(?:""|[^"])*("[^"]+")
正则表达式详细信息:
(?:
: 启动一个非捕获组""
:匹配""
|
: 或[^"]
:匹配任何不是"
的字符
)*
:关闭非捕获组。*
让该组匹配 0 次或多次出现("[^"]+")
:匹配一个非空的双引号字符串并捕获到组#1