前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式-5.回溯引用

正则表达式-5.回溯引用

作者头像
悠扬前奏
发布2019-05-28 12:38:12
1K0
发布2019-05-28 12:38:12
举报

1. 回溯引用

  • 回溯引用指的是模式的前半部分引用在前半部分中定义的子表达式
  • “\“后面接数字可以引用第几个表达式。
  • 通常\0用来引用整个正则表达式。

2. 应用

2.1 标签匹配

匹配h的六级标签

代码语言:javascript
复制
// 如果不使用回溯引用,是无法得到标签开头的
(/<([hH][1-6])>.*?<\/[hH][1-6]/g).test("<h1>asd</h2>"); // true

//使用回溯引用,可以得到正确的匹配
(/<([hH][1-6])>.*?<\/\1/g).test("<h1>asd</h2>"); // false
(/<([hH][1-6])>.*?<\/\1/g).test("<h1>asd</h1>"); // true

2.2 找出连续重复单词

代码语言:javascript
复制
//[" of of", " and and"]
"this is a block of of text several words here and repeated, and and they should not be.".match(/\s+(\w+)\s+\1/g);

3. 替换

回溯查找在替换操作中有很大作用。

代码语言:javascript
复制
//"(010)-1234567"
"010-123-4567".replace(/(\d{3})(-)(\d{3})(-)(\d{4})/,"($1)$2$3$5");

注意:javascript中用$n表示引用第n个子表达式。

子表达式

有些正则表达式允许在替换中队大小写进行替换:

元字符

说明

\E

结束\L或者\U转换

\l

把下一个字符转换为小写

\L

把\L和\E之间的字符全部转换为小写

\u

把下一个字符转换为大写

\U

把\U和\E之间的字符全部转换为大写

JavaScript无效

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 回溯引用
  • 2. 应用
    • 2.1 标签匹配
      • 2.2 找出连续重复单词
      • 3. 替换
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档