\num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。

例子:

正则:/(a)(b)\1/。此表达式的意思大概是对第一个()匹配结果的引用

类似于匹配 aba 然后获取a,b

 检验:

正则  \num 如:\1, \2 匹配的结果

 

 例子:

正则:/(a)(b)\2/。此表达式的意思大概是对第二个()匹配结果的引用

类似于匹配 abb 然后获取a,b

检验:

正则  \num 如:\1, \2 匹配的结果

 

结合元字符: * + {} ?的使用情况

正则  \num 如:\1, \2 匹配的结果

 

 正则  \num 如:\1, \2 匹配的结果

 

 练习题

取字符串中最长的连续字符串,如果一样长,则按照ascii排序。

如: 'wwwaannnndqq'。结果是 nnnn,

如:'wwwaaadd'。结果是 aaa。

一种思路:

先取连续字符串。str.match(/(\S)\1*/g)

正则  \num 如:\1, \2 匹配的结果

 

按字符串长度排序数组,降序

arr.sort(compare)[0]

function compare(x, y) {
  if (x.length === y.length) {
    return x.charCodeAt() - y.charCodeAt()
  } else {
    return y.length - x.length
  }
}

正则  \num 如:\1, \2 匹配的结果

正则  \num 如:\1, \2 匹配的结果

比较函数compare接收两个参数:

如果第一个参数应该位于第二个参数前,则返回负数。

如果第一个参数应该位于第二个参数后,则返回正数。

 

 

相关文章:

  • 2022-12-23
  • 2022-02-01
  • 2022-12-23
  • 2021-07-04
  • 2022-12-23
猜你喜欢
  • 2021-11-21
  • 2022-01-24
  • 2021-12-29
  • 2021-07-25
  • 2022-12-23
  • 2021-04-20
  • 2022-03-08
相关资源
相似解决方案