js正则表达式菜鸟教程(JS正则表达式完整教程10)
本文目录
JS正则表达式完整教程10
亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣。
想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准。
关于正则表达式的教程,网上也有很多,相信你也看了一些。
与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高。
本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面。
如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答。
构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为“元字符“)组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
JavaScript正则表达式中 : 是什么意思
“?:”是“非获取存储匹配”的意思
“ ?:” 只在一个“()”group中,紧贴着“(”出现,例如“(?:abcdefg)”,不同于“ ? ”, “?: ”不是一个量词,但是与“()”共同构造一个元字符,这个元字符所匹配出来的结果,不会保留,也不能参与诸如替换计算等等的操作。(这个操作在服务端多见一些,前端用的不多)(javascript只有string对象的replace方法能用到这个功能)
简单来说,就是你的正则表达式如果用不着在javascript里面使用replace方法,“?:”就可以省去(当然,看个人喜好和排版习惯,还有调试中的页面响应速度,如果加了“?:”反而更快,那就用吧)。
这么说起来还是比较抽象,用实例代码来说明吧。
《!DOCTYPE html》《html》《head》《meta charset=“utf-8“》《title》《/title》《/head》《body》
《p》将匹配的数字增加后缀“9”《/p 》
《p class=“demo“》/(\d+)/gi:A23G4HFD567.《/p 》 《p class=“demo“》/(?:\d+)/gi:A23G4HFD567.《/p 》
《button onclick=“myFunction()“》点我《/button》
《script》
function myFunction(){
var e=document.getElementsByClassName(“demo“);
var str=e.innerHTML;
var n=str.replace(/(\d+)/gi,“$19“); e.innerHTML=n;
str=e.innerHTML;
var n=str.replace(/(?:\d+)/gi,“$19“); e.innerHTML=n;
}
《/script》《/body》《/html》
《!----》
《!--在实例里面“$1代表第一个“()”所匹配的结果--》
点击“点我”按钮前
点击“点我”按钮后
可以看到“/(\d+)/gi”所匹配的结果被用于扩展替换字符串中的“$1”;
但是“/(?:\d+)/gi”所匹配的结果没有被用于扩展替换字符串中的“$1”,尽管,它也成功地找到了被查找字符串中的数字,显然结果没有被保留。
对了,类似的问题,可以用这种办法去对比验证。(比如“?=”、“?!”、“?《=”、“?《!”是什么意思……)
上图是在菜鸟教程找到的一个比较全面的正则表达式的元字符列表的部分:
更多文章:

html网页设计表格代码(用html制作这样的表格的代码是)
2025年4月14日 02:50

java基础实践教程(怎样学习java,java基础入门学习方)
2025年3月30日 05:00

worldview卫星(0.5米分辨的卫星影像有哪些Pleiades卫星影像好一些还是worldview卫星影像好)
2025年4月12日 04:00

out of memory at line 1(out of memory at line:1什么意思怎么处理)
2025年2月11日 21:50

deadline的意思(留学网申术语:deadline是什么意思)
2025年2月14日 16:20

extract翻译(翻译as extract equiv. to fresh)
2025年2月21日 01:10

r语言导入excel数据(r语言怎么导入excel数据做折线图)
2025年2月13日 10:00

navi比赛回放(如何看待《CS:GO》2020 Major 线上赛 navi 小组赛被淘汰)
2025年4月4日 17:10

actionsupport(struts中actionsupport 这个类是干什么的)
2025年2月24日 04:40

manchester united(manchester united 什么意思)
2025年3月30日 02:50

diagnostics什么意思(diagnostics是什么文件夹)
2025年2月15日 22:40