下面是我想要匹配的字符串类型
(字符串是分隔的单引号(如var str = '"hi, what"s up, what a nice day"';
)):
' "This is a str"'
' "This is also a str "
'"So is this'
'"This should "also match un"til th"e last "'
在每种情况下,如果在第一个引号之前只有空格,直到最后一个引号(这是完全可选的),那么它应该捕获第一个引号之后的所有内容。
另一件事是,只包含"
的字符串不应该与ex '""""""""""""'
匹配,根本不应该匹配。
此外,引号之间和引号之外的前导和尾随空格都被忽略。
到目前为止,这是我的准则:
/^\s*\"\s*(.*?)\s*(?:\"\s*)?$
但是它也得到了'""""""""""""""""'
,所以这就是我被困的地方。
我该怎么做才能不匹配整串仅仅是双引号呢?
编辑:
我想我已经解释了我想要错的地方,我希望它能匹配一系列的双引号,而不是捕捉。
发布于 2012-01-09 11:45:28
您可以更改regex,以便内容至少包含一个非“字符”:
/^\s*\"\s*(.*?[^"].*?)\s*(?:\"\s*)?$/
Update:如果您不希望“捕获”启动和跟踪,只需在边框允许其中几个:
/^\s*\"+\s*(.*?)\s*(?:\"+\s*)?$/
https://stackoverflow.com/questions/8794079
复制