js正则函数
js的正则函数主要有有replace,match,test,search,exec。
首先对文中的变量进行说明:
rgExp为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
(1)match 方法
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回,如果未能匹配到,则返回null。
stringObj.match(rgExp)
例:
var str = "ThIS isn't me";
var reg = /is/ig;
var ret = str.match(reg);
console.log(ret); //["IS", "is"]
(2)replace 方法
返回根据正则表达式进行文字替换后的字符串的复制,原字符串不变。
stringObj.replace(rgExp, replacement);
例:
var str = "i love china!";
var pattern = /i/g;
var ret = str.replace(pattern, "I");
alert(ret); //I love chIna!
ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。
(3)test 方法
返回一个 Boolean 值,它指出在被查找的字符串中是否匹配给出的正则表达式,如果是则返回 true,否则就返回 false。
例:
var str = "bbs.byr.cn";
var reg = /b/;
var ret = reg.test(str);
alert(ret); //true
(4)search 方法
返回与正则表达式查找内容匹配的 第一个子字符串 (与是否全局查找不管) 的索引数,否则返回-1 。
stringObj.search(rgExp) ;
例:
var str = "This isn't me";
var reg = /is/; // /is/g (结果一样);
var ret = str.search(reg);
alert(ret); //2
(5)exec 方法
用正则表达式模式在字符串中查找,并返回该查找结果的第一个值(数组),如果匹配失败,返回null。如果想得到全部查询结果,可以使用while循环。
返回数组包含:
input:整个被查找的字符串的值;
index:匹配结果所在的位置(位);
lastInput:下一次匹配结果的位置;
arr:结果值,arr[0]全匹配结果,arr[1,2...]为表达式内()的子匹配,由左至右为1,2...。
例:
var str = "i love china!";
var reg = /i\B/g; i后不是空格
var ret = reg.exec(str);
alert(ret); // i
console.log(ret); //["i", index: 9, input: "i love china!"]
(6)split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator[, limit]])
其中separator表示分割方式,limit表示分割后的返回个数。
例:
var s, ss;
var s = "The rain in Spain falls mainly in the plain.";
ss = s.split(/s/i); // ['The rain in' , 'pain fall' , 'mainly in the plain.']
js正则函数的更多相关文章
- js正则函数match、exec、test、search、replace、split使用介绍集合
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- js正则函数match、exec、test、search、replace、split使用介绍集合,学习正则表达式的朋友可以参考下。
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- js正则函数match、exec、test、search、replace、split使用集合
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- js正则函数match、exec、test、search、replace、split使用介绍
match() 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) stringObj 必选项.对其进行查找的 String 对象或字符 ...
- js正则函数中test和match的区别
test是RegExp的方法,参数是字符串,返回值是boolean类型. match是String的方法,参数是正则表达式,返回值是数组. <script type="text/jav ...
- js 正则函数初级之二
1. 小括号在正则中: 1.1 小括号:表示分组 1.2 分组之后,,每个组都有一个序号,从左到右,依次为1,2,3.......:可以使用 RegExp.$1,RegExp.$2,RegExp.$3 ...
- js 正则函数初级
1.test :正则匹配字符串,如果成功则返回true,若果失败则返回false 格式:/正则表达式/.test(字符串) 默认吗匹配规则,区分大小写:如果不区分大小写,则加修饰符 i 例子: < ...
- php正则 与 js正则
PHP中的正则表达式函数 在PHP中有两套正则表达式函数库.一套是由PCRE(Perl Compatible Regular Expression)库提供的.PCRE库使用和Perl相同的语法规则实现 ...
- php中的正则函数主要有三个-正则匹配,正则替换
php中变量的声明? 由于php声明变量的时候, 不支持使用 var关键字, 又不能直接写一个变量名字, 孤零零的放在那里, 所以, 在php中声明变量的方式, 同时也是给变量初始化的形式, 即: & ...
随机推荐
- IT公司100题-13-求链表中倒数第k个结点
问题描述: 输入一个单向链表,输出该链表中倒数第k个结点.链表倒数第0个节点为NULL. struct list_node { int data; list_node* next; }; 分析: 方法 ...
- 一台服务器搭载两个tomcat项目
之前下载的mysql 在官网是有 历史库的 如果现在一台机器上已经部署了一个tomcat服务,无论这个tomcat是否已经注册为服务了,或者没有注册windows服务,或者注册了,都没关系.都可以采 ...
- poj2137 dp
//Accepted 228K 32MS //dp[k][i][j] 表示从1的k号节点到i的j号节点的最小花费 //dp[k][i][j]=min(dp[k][i-1][h]+cost) cost为 ...
- UVa 11020 Efficient Solutions(平衡二叉树/multiset )
题意:有n个人,每个人有x.y两个属性,每次输入一个人(x,y).如果当前不存在一个人(x`,y`)的属性满足x`<=x,y`<y或者x`<x,y`<=y,就说这个人是有优势的 ...
- C#中的五个访问修饰符
一.public, private, protected, internal, protected internal 1.public : 公开的, 公共的 2.private : 私有的 (只能在当 ...
- the way of reading English books
除了datesheet ,我们经常遇到英语文档和资料.找到正确的英语文档的打开方式变的非常必要. 计算机类的书大致归为三大类: (1)语言方面的书.比如C.Java.Python等等 (2)算法书籍. ...
- 2016-1-6第一个完整APP 私人通讯录的实现 2:增加提示用户的提示框,监听文本框
一:在登录时弹出提示用户的提示框: 1.使用第三方框架. 2.在登陆按钮点击事件中增加如下代码: - (IBAction)loginBtnClicked { NSString *acount = se ...
- Ubuntu安装Osmocom-BB一只猿多频点WEB脚本
LAMP(Linux- Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据 库,Perl.PHP或者Pytho ...
- iOS 实现简单的Http 服务
http 是计算机之间通讯协议的比较简单的一种.在iPhone上,由于没有同步数据和文件共享,所以实现PC与设备之间的数据传输的最佳方式就是在程序中嵌套一个http 服务器.在这篇帖子中,我将简单的演 ...
- 【LEETCODE OJ】Reorder List
Problem link: http://oj.leetcode.com/problems/reorder-list/ I think this problem should be a difficu ...