JavaScript学习(十四)---String对象中的模式匹配方法
目录
1.match()方法
match()方法使用正则表达式模式对字符串进行查找,并将包含查找的结果作为数组返回。
语法:stringobj.match(rgExp)
stringobj:必选项。对其进行查找的String对象或字符串文字
rgExp:必选项。为正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。
如果match方法没有找到匹配,则返回null。如果找到匹配则返回一个数组并且更新全局RegExp对象的属性以反映结果。
match方法返回的数组有3个属性:input,index,lastindex。
如果没有全局标志(g),数组的0元素包含整个匹配,而第1-n元素包含了匹配中曾出现过的任一子匹配。这相当于没有设置全局标志,元素0-n中包含所有匹配。
例子:
<script language="JavaScript"> function MatchDemo(){ var r,re; //声明变量 var s="I'm a good man"; re=/man/i; //创建正则表达式 r=s.match(re); //尝试匹配搜索字符串 return(r); //返回第一次出现"body"的地方 } document.write(MatchDemo()); </script>
<script language="JavaScript"> function MatchDemo(){ var r,re; //声明变量 var s="I'm a man a good man"; re=/man/ig; //创建正则表达式 r=s.match(re); //尝试匹配搜索字符串 return(r); //返回第一次出现"body"的地方 } document.write(MatchDemo()); </script>
2.search()方法
search()方法返回与正则表达式查找内容匹配的第一个子字符串的位置。
语法:stringobj.search(rgExp)
stringobj:必选项。对其进行查找的String对象或字符串文字
rgExp:必选项。为正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。
例子:
<script language="JavaScript"> function MatchDemo(){ var r,re; //声明变量 var s="I'm a man a good man"; re=/man/ig; //创建正则表达式 r=s.search(re); //尝试匹配搜索字符串 return(r); //返回第一次出现"body"的地方 } document.write(MatchDemo()); </script>
3.replace()方法
replace()方法使用表达式模式对字符串进行搜索,并对搜索后到的内容用指定字符串替代,返回一个字符串对象,包含替换后的内容。
语法:replace(rgExp.replaceText)
rgExp参数为搜索时要使用的表达式对象。如果是字符串,不按正则表达式的方式进行模糊搜索,而是进行精确搜索。
replaceText参数为用于替换搜索到的内容的字符串,其中可以使用一些特殊的字符组合来表示匹配变量。其中,$&是整个表达式模式在被搜索字符串中所匹配的字符串,$是表达式模式在被搜索字符串中所匹配的字符串左边的所有内容,$‘是表达式在被搜索字符串中所匹配的字符串右边的所有内容,$$则是普通意义的“$”字符。
例子:
<script language="JavaScript"> var strSrc="a13f58af4f41af"; var re=/(\d)(\d)/gi; var strDest=strSrc.replace(re,"$2$1"); document.write("字符串"+strSrc+"被转化为:"+strDest); </script>
4.split()方法
split()方法返回按照某种分割标识符将一个字符串拆分成若干个子字符串时所产生的子字符串数组。
语法:split([separator[,limit]])
separator是分割标识符参数,可以是多个字符或一个正则表达式,并不作为返回到数组元素的一部分。参数limit限制返回元素的个数。
<font size="+1"> <font face="宋体"> <script language="JavaScript"> var splitArray=new Array(); var string="JavaScript、ASP、JSP、Java"; var regex=/、/; splitArray=string.split(regex); for(i=0;i<splitArray.length;i++){ document.write(splitArray[i]+" "); } </script>
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java枚举
Java枚举有如下特点: 枚举类省略了private类型的构造函数,且构造函数只能为私有; 枚举的域(field)实质就是相应的枚举类的一个实例对象; 当访问枚举的实例(域)时才会执行构造方法实例化,例如下面的DAY实例只有被访问时才会被创建; 枚举的实例(域)都被static final修饰,保证了只能被实例化一次; 编译器会自动为枚举继承java.lang.Enum的类,所以代码中枚举只能实现接口而不能再继承其他类; 枚举原理 下面看一个简单的枚举类: package com.faith.net; /** * 日期类型 */ public enum DateType { DAY; } 上面的代码在编译后实际等同于: public class DateType extends Enum { public static final DateType DAY; private DateType () {} } 可以把DateType看做一个类,而Day是DateType的一个实例。它的构造方法则是私有的。 枚举添加静态变量/方法和成员变量/方法 枚举中也可以添加静态变量、静态方法和成员变...
- 下一篇
Python编辑器你选哪个?我选PyCharm
世界上最好的 Python 编辑器或 IDE 是什么?炫酷的界面、流畅的体验,我们投 PyCharm 一票,那么你呢?本文介绍了 PyCharm、Jupyter Notebook 和 Spyder 在内的 5 种主流 Python IDE,每一种都各有优缺点。不过结合经验教训,不论是纯文本编辑器还是集成开发环境,总有一款是你的最爱,那么快在文末为你最爱的 IDE 投上一票吧。 1991 年,Guido van Rossum 创建了 Python 并发布了第一个版本。这种解释型高级编程语言为通用编程而开发。Linux、MacOS 和 Windows 等操作系统中都有 Python 解释器。 经过近 30 年的发展,Python 已成为编程社区极受欢迎的语言。使用 IDLE 或 Python Shell 写 Python 编码适用于小型项目,但无法应对成熟的机器学习或数据科学项目。 在这种情况下,你需要使用一个 IDE(集成开发环境)或专用的代码编辑器。由于 Python 是最流行的编程语言之一,IDE 的选择也非常多。那么问题来了:「究竟什么样的 IDE 最适合 Python?」 很明显...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装