Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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_Pattern Matching - Fatal编程技术网

Javascript 我需要在引号中匹配字符串

Javascript 我需要在引号中匹配字符串,javascript,regex,pattern-matching,Javascript,Regex,Pattern Matching,我需要匹配“”中的字符串,我正在使用以下命令它不起作用 var str=''hi“hello”abc\nddk“ef”gh'; console.log(str.match(/(?=”)[^“]*?(?=”)/);这应该可以做到: /(?|)(“”((?:\\“|[^”])+)\1((?:\\'.[^'])+)\1)/xg 顺便说一句:这是一个很好的资源使用(这就是我得到上面正则表达式的地方) 更新 我发布的第一篇文章适用于PHP和JS /“([^“\\]*(?:\.[^“\]*)*)”“\\w

我需要匹配
”中的字符串,我正在使用以下命令它不起作用

var str=''hi“hello”abc\nddk“ef”gh';

console.log(str.match(/(?=”)[^“]*?(?=”)/);
这应该可以做到:

/(?|)(“”((?:\\“|[^”])+)\1((?:\\'.[^'])+)\1)/xg

顺便说一句:这是一个很好的资源使用(这就是我得到上面正则表达式的地方)

更新 我发布的第一篇文章适用于PHP和JS


/“([^“\\]*(?:\.[^“\]*)*)”“\\w+\]*([^'\]*(?:\.\.^'\]*)”/g

这应该可以做到:

/(?|)(“”((?:\\“|[^”])+)\1((?:\\'.[^'])+)\1)/xg

顺便说一句:这是一个很好的资源使用(这就是我得到上面正则表达式的地方)

更新 我发布的第一篇文章适用于PHP和JS


/([^“\\]*(?:\.\.[^“\]*)*)“\\\w+\]*([^'\]*(?:\.\.^'\]*)”/g

也许我读错了你的问题,但这对我有用

/\“+\”/gm


也许我读错了你的问题,但这对我有用

/\“+\”/gm


最简单的方法是:

/"[^"]*?"/g
这将返回一个带有
“hi”
“abc\nddk”
“gh”
的数组,您可以执行类似于
的操作。在单个片段上替换(/“/g”,”
)以摆脱
。如果您不喜欢这样做,则可以执行
匹配


最简单的方法是:

/"[^"]*?"/g
这将返回一个带有
“hi”
“abc\nddk”
“gh”
的数组,您可以执行类似于
的操作。在单个片段上替换(/“/g”,”
)以摆脱
。如果您不喜欢这样做,则可以执行
匹配


它在控制台中给我的错误是
uncaughtsyntaxerror:提供给RegExp构造函数'xg'的标志无效
啊,是的,我现在看到了。hmmIt在控制台中给我的错误是
uncaughtsyntaxerror:提供给RegExp构造函数'xg'的标志无效
啊,是的,我现在看到了。hmmthattregex不工作,如果你尝试这个字符串:
“嗨“hello”abc\nddk“ef”gh“
我只需要quotes@KevinJantzer哦,所以转义的
\\n
必须是字符串的一部分?抱歉,如果您尝试此字符串,则误解了正则表达式不起作用:
“hi”hello“abc\nddk“ef”gh”
我只需要quotes@KevinJantzer哦,所以转义的
\\n
必须是字符串的一部分?对不起,误会请你解释一下,为什么我的正则表达式不能works@PranavCBalan前瞻
(?=”
实际上并不消耗
”,因此
(?=”[^“]
将永远不会匹配任何内容。@PranavCBalan--根据需要多次阅读此内容。Lookarounds是零宽度断言。它们不使用字符。所以
(?=”)
的意思是“匹配紧跟着
的位置。所以
(?=”[^“]
匹配位置后加引号,然后匹配任何非引号的字符——这是一个矛盾。JavaScript正则表达式中也不支持“向后看”。请解释一下,为什么我的正则表达式不应该works@PranavCBalan前瞻
(?=”)
实际上并不消耗
所以
(?=”[^“]
永远不会匹配任何内容。@PranavCBalan--根据需要多次阅读此内容。Lookarounds是零宽度断言。它们不使用字符。因此
(?=”)
的意思是“匹配后跟
的位置”
。因此,
(?=”[^“]
匹配位置后加引号,然后匹配任何非引号的字符——这是一个矛盾。JavaScript正则表达式中也不支持查找后面。