首页 > 其他 > 详细

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

时间:2019-11-14 22:07:49      阅读:223      评论:0      收藏:0      [点我收藏+]

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

例子:

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

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

 检验:

技术分享图片

 

 例子:

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

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

检验:

技术分享图片

 

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

技术分享图片

 

 技术分享图片

 

 练习题

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

如: ‘wwwaannnndqq‘。结果是 nnnn,

如:‘wwwaaadd‘。结果是 aaa。

一种思路:

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

技术分享图片

 

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

arr.sort(compare)[0]

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

技术分享图片

技术分享图片

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

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

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

 

 

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

原文:https://www.cnblogs.com/caimuguodexiaohongmao/p/11862861.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!