我提出了: ([^"]*["][^"]*["][^"]*)*
它适用于所有情况,除了空字符串.我认为它会起作用,因为最后一个星形匹配前一个标记零次或多次.
有任何想法吗?
如果还有更好的方法,请告诉我并详细解释.
解决方案必须是正则表达式,因为它将被使用的地方是需要正则表达式的钩子.
它必须匹配没有引号的字符串,因为零是偶数
试试这个表达式:
^(?:[^"]+|"[^"]*")*$
它匹配一个序列,该序列由除引号([^"]+
)之外的任何字符或一对引号组成,其中除了()之间的引号之外的任何字符"[^"]*"
.而*
量词取空字符串考虑在内.