【问题标题】:How to Use Special Characters in Regex Constructor of Javascript如何在 Javascript 的 Regex 构造函数中使用特殊字符
【发布时间】:2020-06-26 16:38:17
【问题描述】:

在这段代码中,我试图使用正则表达式对象中的特殊字符来计算字符在数组中的次数,并获取重复奇数次的数字,我想使用插入符号分隔正数和负数.但它不起作用。

function findOdd(A) {
  //happy coding!

  return A.find( num => A.join(" ").match(RegExp(^num, "g")).length % 2 != 0));
}
console.log(
  findOdd([20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5])
);

output == 5 因为这里 5 是奇数次

【问题讨论】:

  • ^num 是语法错误。

标签: javascript arrays regex


【解决方案1】:

我所做的是:

我像你一样使用join(" ") 连接数组,我在开头添加了一个空格,我还在正则表达式的开头添加了一个空格,所以当你搜索“1”时,你实际上是在搜索对于“1”,对于“-1”是“-1”,这样他们就不会混淆了,最后我使用了模运算符.length % 2 !== 0 来检查长度是奇数还是偶数。

这是一种方法。

检查代码,它可能对你有帮助;

function findOdd (A) {
  //happy coding!
  return A.find((num, i, arr) => ((" " + arr.join(" ")).match(new RegExp(( " " + num ) , "g")).length % 2 !== 0 ));
  
}

console.log(findOdd([20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5]))

【讨论】:

  • 我认为答案很好,但我想知道我是否可以在正则表达式构造函数中使用特殊字符。
猜你喜欢
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多