Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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 RegExp不';它不能产生预期的结果,但它在其他任何地方都能产生_Javascript_Node.js_Regex - Fatal编程技术网

Javascript RegExp不';它不能产生预期的结果,但它在其他任何地方都能产生

Javascript RegExp不';它不能产生预期的结果,但它在其他任何地方都能产生,javascript,node.js,regex,Javascript,Node.js,Regex,我开始学习Node.js,并试图从PHP环境中学习它 我有以下正则表达式:/([A-Z]{2,})+/gim(两个或多个字母相邻)。 我有以下字符串:“这是我的测试样本,但它不工作。” 所以我把这个放到Node.js中(记住我是新手): 这是完整的文件 它返回的输出: [ 'That', 'That', index: 0, input: 'That\'s my testing sample but it doesn\'t work.' ] 根据我测试的几乎每个站点的输出: That

我开始学习Node.js,并试图从PHP环境中学习它

我有以下正则表达式:
/([A-Z]{2,})+/gim
(两个或多个字母相邻)。
我有以下字符串:
“这是我的测试样本,但它不工作。”

所以我把这个放到Node.js中(记住我是新手):

这是完整的文件

它返回的输出:

[ 'That',
  'That',
  index: 0,
  input: 'That\'s my testing sample but it doesn\'t work.' ]
根据我测试的几乎每个站点的输出:

That
my
testing
sample
but
it
doesn
work
如何在排序数组中获得每个单独的结果


注意:
match()
test()
不是一个函数。

要使用
g
标志获得多个结果,请多次调用
.exec()
,如下所示:

let regex=/([A-Z]{2,})+/gim;
let str=“这是我的测试样本,但不起作用。”;
让结果;
while((results=regex.exec(str))!==null){
console.log(结果[0]);

}
您不需要将正则表达式文字包装到正则表达式中constructor@JonasW. 在这一点上,我放弃了,不管它是在构造函数中还是在lose中,它仍然会产生相同的结果。您必须多次调用
.exec()
,才能获得所有结果。每次调用
index
属性以获得下一组结果时,它都会推进该属性。这里的示例:您是否意识到
match
test
是字符串的一部分,而不是正则表达式的一部分@jfriend00这很奇怪,但它也是解决方案。谢谢。@J.Doe-我使用
.match()
添加了另一个选项,如果您不想查看捕获组,这个选项会更简单。
That
my
testing
sample
but
it
doesn
work