Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何匹配字符串的开头和结尾_Javascript_Regex - Fatal编程技术网

Javascript 如何匹配字符串的开头和结尾

Javascript 如何匹配字符串的开头和结尾,javascript,regex,Javascript,Regex,如何匹配字符串的开头和结尾,但忽略其间的所有内容。我是这样做的,但结果总是零 document.write str.match/^[“”]$/g | |[]长度 在我的代码str.match/[“”]/g中添加所有类似的qoutes 但是给予^and$总是没有结果试试看 document.write( (str.match(/["“”'’]\s|\s["“”'’]/g) || []).length ); 您将获得每个有相邻空格的报价的计数。字符串末尾的引号不起作用。如果你也需要,问吧 在这种情

如何匹配字符串的开头和结尾,但忽略其间的所有内容。我是这样做的,但结果总是零

document.write str.match/^[“”]$/g | |[]长度

在我的代码str.match/[“”]/g中添加所有类似的qoutes 但是给予^and$总是没有结果

试试看

document.write( (str.match(/["“”'’]\s|\s["“”'’]/g) || []).length );
您将获得每个有相邻空格的报价的计数。字符串末尾的引号不起作用。如果你也需要,问吧

在这种情况下,|分隔不同的搜索。因此,我们正在搜索一个后跟空格的引号,或者一个后跟引号的空格。如果您明确希望\被计数,那么表达式将稍微复杂一些。我假设\只是在字符串中转义。

您需要

\B["“”'’]|["“”'’]\B

确保匹配只发生在非单词边界位置的位置:

\B在两个单词字符之间的任何位置以及两个非单词字符之间的任何位置匹配


因此,“\B[”“”“”]匹配前面没有单词[a-zA-Z0-9]字符的所有子字符串,“”“”\B匹配后面没有单词字符的撇号。

这是什么意思?是否要匹配单个引号字符?请详细说明要捕获的内容。即使在你的问题更新之后,仍然不清楚。比如:你为什么把^和$放在那里?很抱歉我不是英语母语很难解释,所以我把预期的结果包括进去了,但仍然不清楚/^[“”]$/g返回零结果,因为它意味着:一个由给定集合中的一个单引号字符组成的单字符长字符串。我相信您需要。这令人印象深刻:您如何知道问题与空格有关?是的,就是这个,但是如果您想要非单词而非空格,我将\s改为\W谢谢@Paulfair。另一个答案中提到的\B选项将允许引号也位于字符串的开头和结尾。
\B["“”'’]|["“”'’]\B