博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式对象&&String对象
阅读量:4546 次
发布时间:2019-06-08

本文共 2837 字,大约阅读时间需要 9 分钟。

        一、RegExp对象。

           1.创建RegExp对象的方法有两种,

                                 一是通过构造函数来创建:new RegExp(“pattern[,”flags”],patern为一个字符串,书写时必须用引号引起来。参数flags也是一个字符串,在书写时也要用引号引起来。Flags标记可以是以下标志的某一个或某几个的组合:g,全局标志;i,忽略大小写标志;m,多行查找标志;

                 二是直接定义正则表达式文本模式来隐式构造RegExp对象,基本语法格式为:/pattern/flags,要注意的是,在这种方法中,patternflags都是纯文本格式的,不能用引号引起来,而pattern部分要嵌套在两个正斜杠“/”之间。

            2.RegExp对象提供的方法:三种:teststr);execstr);compile(“pattern[,”flags”])。

                            (1).test(str) 方法:返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。

                  格式:rgexp.test(str)

                  示例:

function TestDemo(re, s){ var s1; // 声明变量。 // 检查字符串是否存在正则表达式。 if (re.test(s)) // 测试是否存在。 s1 = " contains "; // s 包含模式。 else s1 = " does not contain "; // s 不包含模式。 return("'" + s + "'" + s1 + "'"+ re.source + "'"); // 返回字符串。 } alert(TestDemo(/io/,"The rain in Spain falls mainly in the plain.")); //输出:'The rain in Spain falls mainly in the plain.' does not contain 'io' alert(TestDemo(/in/,"The rain in Spain falls mainly in the plain.")); //输出:'The rain in Spain falls mainly in the plain.' contains 'in‘

              (2). 

   二、String对象。

          1.String对象主要有4种方法:

                        (1).matchreg):返回null或以搜索结果为元素的数组。这种方法与RegExp对象的exec方法很类似,exec方法的参数是string对象的实例,即一个字符串,两种方法的主宾对象正好互换了。注意:match方法的返回数组有两种存储方式,若没有设置全局标志g,数组的第一个元素存放整个匹配字符串,而其他元素按顺序存放各个子匹配结果,这时和exec方法的数组的存储情况相同;若设置了全局标志g,数组按顺序存放所有匹配成功的完整的字符串;

   示例:

   function MatchDemo(){ var r, re; // 声明变量。 var s = "The rain in Spain falls mainly in the plain"; re = /ain/i; // 创建正则表达式模式。 r = s.match(re); // 尝试匹配搜索字符串。 return(r); // 返回第一次出现 "ain" 的地方。 } alert(MatchDemo().input);//输出:The rain in Spain falls mainly in the plain alert(MatchDemo().index);//输出:5

                        (2).searchreg):该方法用于在调用该方法的string对象的实例中查找首次与“reg”正则表达式模式匹配的字符串,并返回其首字符的位置,若匹配不成功则返回-1

   格式:stringObj.search(rgExp)

    示例:

function SearchDemo(){ var r, re; // 声明变量。 var s = "The falls mainly in the plain."; re = /falls/i; // 创建正则表达式模式。 r = s.search(re); // 查找字符串。 return(r); // 返回 Boolean 结果。 } alert(MatchDemo()); //输出:4

                        (3).replaceregstr):若没有设置全局标志g,只检索和替换首次匹配成功的字符串。否则,将检索和替换目标字符串中所有与reg模式匹配的子字符串。返回根据正则表达式进行文字替换后的字符串的复制

   格式:stringObj.replace(rgExp, replaceText)

   示例:

function ReplaceDemo(){ var r, re; // 声明变量。 var ss = "The man hit the ball with the bat."; //模式一 //re = /The/gi; // 创建正则表达式模式。 //r = ss.replace(re, "A"); // 用 "A" 替换 "The"。 //模式二 re = /(/S+)(/s+)(/S+)/g; // 创建正则表达式模式。 r = ss.replace(re, "$3$2$1"); // 交换每一对单词。 return(r); // 返回结果字符串。 } alert(ReplaceDemo()); //模式一输出:A man hit A ball with A bat. //模式二输出:man The the hit with ball bat. the

                        (4).split[separator[,limit]]):参数separator可以是字符串或正则表达式对象,它是一个可选项,如果忽略该参数,将返回包含整个字符串的单一元素数组。Limit也是一个可选项,该值用来限制返回数组中的元素个数。结果存放在一个字符串数组并返回。

   格式:stringObj.split([separator[, limit]])

   示例:

function SplitDemo(){ var s, ss; var s = "The rain in Spain falls mainly in the plain."; // 在每个空格字符处进行分解。 ss = s.split(" "); return(ss); } alert(SplitDemo().join());//输出:The,rain,in,Spain,falls,mainly,in,the,plain.

 

 

转载于:https://www.cnblogs.com/junzi2099/archive/2010/11/14/3872030.html

你可能感兴趣的文章
thinkphp+redis实现秒杀功能
查看>>
Java 基础面试题
查看>>
LAMP安装(一)关于Apache的源码安装
查看>>
全排列
查看>>
我也不知道叫什么
查看>>
怎样用命令查看网卡接口的方法
查看>>
css经典布局—Sticky footers布局
查看>>
mysql表设计---时间类型
查看>>
wamp服务器
查看>>
Codeforces 1144G Two Merged Sequences dp
查看>>
STL内存分配方式
查看>>
NS2移动节点
查看>>
redis取值报错
查看>>
Oracle 客户端 使用 expdp/impdp 示例 说明
查看>>
模拟3d
查看>>
【BZOJ】 1041: [HAOI2008]圆上的整点
查看>>
Oracle Data Guard 重要配置参数
查看>>
c3p0参数解释
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(41)-组织架构
查看>>
c++ 字符串转换
查看>>