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

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

定义正则表达式

//定义var pattern=new RegExp('box','gi');var pattern=/[0-9]/gi;

字符串测试方法

test:匹配结果返回true,false

exec:匹配结果放回匹配的字符串

var pattern=/[0-9]/gi;str="there are 34 box";var res1=pattern.test(str);//true //exec匹配到返回数组,匹配不到返回nullvar res2=pattern.exec(str);//3

字符串的正则方法

/*字符串的正则方法match  返回匹配的数组或nullreplace  替换serach   返回开始的位置split 拆分字符串为数组*/var pattern=/box/gi;str="is box 1 - Box 2";//var res=str.match(pattern);//box,Box//var res=str.replace(pattern,'desk');//desk 1 - desk 2//var res=str.search(pattern);//3var res=str.split(pattern);//以box作为拆分原则,返回is , 1 - , 2

正则表达式的静态属性

/*静态属性,用处不大*/var pattern=new RegExp('baidu');var str="this is baidu !!!";pattern.test(str);//必须执行一次,静态属性才有效document.write(RegExp.input);//this is baidu !!!document.write(RegExp.leftContext);//前子串 this isdocument.write(RegExp.rightContext);//后子串 !!!

获取控制

/*获取控制*/var pattern=/^baidu[0-9]$/gi;var str="baidu8";/*[0-9]  \d[^0-9]  \D\w  //字母数组及下划线\W  //非字母数字及下划线+  1个或多个?  0个或1个*  任意个{m,n} 最少m个,最多n个{m,} m个或以上{m}  只能m个   [a-z]{3}^  行首匹配$  行尾匹配   /^baidu$/完全匹配str="baidu"*/
/*获取控制*/var pattern=/8(.*)8/gi;var str="8 is baidu8";/*\s  空格\b  是否到达边界|   或//   /baidu|google|bing/RegExp.$1  获取第一个分组的内容*///分组匹配pattern.test(str);alert(RegExp.$1);   //is baidu

 分组内容的替换

/*获取控制*/var pattern=/(.*)\s(.*)/gi;var str="baidu google";document.write(str.replace(pattern,'$1'));document.write(str.replace(pattern,'$2,$1'));//google,baidu
//捕获性分组,所有分组都捕获var pattern=/(d+)([a-z])/gi;//非捕获分组(不捕获第二个分组) ?:var pattern=/(d+)(?:[a-z])/gi;//前瞻性捕获(goo后面必须为gle) ?=var pattern=/goo(?=gle)/gi;var str="google";//嵌套分组var str="abc";var str=/(a?(b?(c?)))/;a[0]  整个字符串 abca[1]  第一个分组,abca[2]  第二个分组 bca[3]  第三个分组 c

 

转载于:https://www.cnblogs.com/yestian/p/6500679.html

你可能感兴趣的文章
第3课 - 初识程序的灵魂
查看>>
WordPress插件扫描工具plecost
查看>>
【PDF】Java操作PDF之iText超入门
查看>>
PHP:第五章——字符串过滤函数
查看>>
Spring中ApplicationContextAware的用法
查看>>
flask的session解读及flask_login登录过程研究
查看>>
ElasticSearch单机多实例环境部署
查看>>
python 练习
查看>>
Centos 安装 nload
查看>>
python3简单使用requests
查看>>
由一次java作业 引起的思考
查看>>
HDU 3389 Game(博弈)
查看>>
仅IE支持clearAttributes/mergeAttributes方法
查看>>
Linux中U盘和SD卡加载卸载命令
查看>>
github push403错误的处理
查看>>
Hibernate与 MyBatis的比较
查看>>
关于百度地图API的地图坐标转换问题
查看>>
【操作系统】设备管理(五)
查看>>
ArcObject开发时,axtoolbarcontrol中一些添加的按钮是灰色的问题
查看>>
[LeetCode] Guess Number Higher or Lower 猜数字大小
查看>>