JavaScript中正则表达式示例

gufeijunchi 2013-10-11

【测试示例代码】

<html>
<body>
<input type="button" value="运行" onClick="toCheck1()" />
<input type="button" value="刷新" onClick="javascript:window.location.reload();"><br />
<input type="text" id="textId" />
<script type="text/javascript">
	function toCheck(){
		var str = "hiabc";
		var reg = /hi/;
		var value = str.match(reg);
		
		document.getElementById("textId").value = value;
	}
</script>
</body>
</html>

>>【修饰符】<<

01、【i】修饰符用于执行对大小写不敏感的匹配

  示例:不区分大小写,查找abcde
  单词:var str = "ABCde";
  公式:var reg = /abcDE/i;
  结果:ABCde


02、【g】修饰符用于执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)

  示例:对 "abc" 进行全局搜索
  单词:var str = "abcABCabc";
  公式:var reg = /abc/g;
  结果:abc,abc


03、【m】修饰符用于执行多行匹配(只有当使用^和$模式才起作用,否则加不加入m都可以进行多行匹配)

  示例:进行全局多行匹配abc(\n为换行)
  单词:var str = "abc\nabcd\nabce";
  公式:var reg = /^abc/gm;
  结果:abc,abc,abc

>>【方括号】<<

01、【[]】查找方括号内任何指定的字符

  示例:全局中查找字母a和B的内容
  单词:var str = "abcABC";
  公式:var reg = /[aB]/g;
  结果:a,B


02、【[^]】查找任何不在方括号之间的字符

  示例:全局中查找字母非a和B的内容
  单词:var str = "abcABC";
  公式:var reg = /[^aB]/g;
  结果:b,c,A,C


03、【[0-9]】查找任何从 0 至 9 的数字(若为[0-2]则查找0-2的数字)

  示例:全局中查找0-9的内容
  单词:var str = "abc0ABC9";
  公式:var reg = /[0-9]/g;
  结果:0,9


04、【[a-z]】查找任何从小写 a 到小写 z 的字符(若为[a-b]则查找a-b的字符)

  示例:全局中查找a-z的内容
  单词:var str = "abc0ABC9";
  公式:var reg = /[a-z]/g;
  结果:a,b,c


05、【[A-Z]】查找任何从小写 A 到小写 Z 的字符(若为[A-B]则查找A-B的字符)

  示例:全局中查找A-Z的内容
  单词:var str = "abc0ABC9";
  公式:var reg = /[A-Z]/g;
  结果:A,B,C


06、【[A-z]】查找任何从小写 A 到小写 z 的字符(若为[A-a]则查找A-a的字符)

  示例:全局中查找A-Z的内容
  单词:var str = "abc0ABC9";
  公式:var reg = /[A-z]/g;
  结果:a,b,c,A,B,C

>>【元字符】<<

01、【.】查找单个字符(含特殊字符如空格井号,除了换行和行结束符)

  示例:全局中查找 a任意一个字符b 的内容(任意一个字符含殊字符如空格井号)
  单词:var str = "abc ABC abc a#c";
  公式:var reg = /a.c/g;
  结果:abc,abc,a#c


02、【\w】查找单词字符(不含特殊字符如空格井号,除了换行和行结束符)

  示例:全局查找 a任意一个字符b 的内容(任意一个字符不含殊字符如空格井号)
  单词:var str = "abc ABC abc a#c";
  公式:var reg = /a\wc/g;
  结果:abc,abc


03、【\W】查找非单词字符

  示例:全局查找 非a任意一个字符b 的内容(任意一个字符不含殊字符如空格井号)
  单词:var str = "abc ABC abc a#c";
  公式:var reg = /a\Wc/g;
  结果:a#c


04、【\d】查找数字

  示例:全局查找 数字 的内容
  单词:var str = "abc0ABC1abc2";
  公式:var reg = /\d/g;
  结果:0,1,2


05、【\D】查找非数字字符

  示例:全局查找 非数字 的内容
  单词:var str = "abc0ABC1abc2";
  公式:var reg = /\D/g;
  结果:a,b,c,A,B,C,a,b,c


06、【\s】查找空白字符(英文空格、中文全角空格、制表符(Tab)、换行符)

  示例:全局查找 空白字符 的内容
  单词:var str = "abc ABC abc#";
  公式:var reg = /\s/g;
  结果: ,

07、【\S】查找非空白字符

  示例:全局查找 非空白字符 的内容
  单词:var str = "abc ABC abc#";
  公式:var reg = /\S/g;
  结果:a,b,c,A,B,C,a,b,c,#


08、【\b】匹配单词边界(特殊字符如空格井号不算单词)

  示例:全局查找 abc 的内容(特殊字符不算单词,等于特殊字符不存在)
  单词:var str = "abc ABC abc#";
  公式:var reg = /\babc\b/g;
  结果:abc,abc


09、【\B】匹配非单词边界(特殊字符如空格井号不算单词)

  示例:全局查找 单词不为abc结尾 的内容(特殊字符不算单词,等于特殊字符不存在)
  单词:var str = "abcd ABC abc#";
  公式:var reg = /abc\B/g;
  结果:abc


10、【\n】查找换行符

  示例:全局查找 换行符 的内容
  单词:var str = "abc\nabcd\nabce";
  公式:var reg = /\n/g;
  结果:,


11、【\xxx】查找以八进制数 xxx 规定的字符

  示例:全局查找 字符串中的八进制 127 (W)
  单词:var str = "Hello World";
  公式:var reg = /\127/g;
  结果:W


12、【\xdd】查找以十六进制数 dd 规定的字符

  示例:全局查找 字符串中的十六进制 57 (W)
  单词:var str = "Hello World";
  公式:var reg = /\x57/g;
  结果:W


13、【\uxxxx】查找以十六进制数 xxxx 规定的 Unicode 字符

  示例:全局查找 字符串中的十六进制 0057 (W)
  单词:var str = "Hello World";
  公式:var reg = /\u0057/g;
  结果:W

14、【\o】查找 NUL 字符
15、【\f】查找换页符
16、【\r】查找回车符
17、【\t】查找制表符
18、【\v】查找垂直制表符

>>【量词】<<

01、【+】指定+前边的内容可以连续重复出现任意次(至少1次)

  示例:全局查找 ab开头,1个以上为c 的内容
  单词:var str = "aabc ABC abbc abcc";
  公式:var reg = /abc+/g;
  结果:abc,abcc


02、【*】指定*前边的内容可以连续重复出现任意次(含0次)

  示例:全局查找 ab开头,0个以上为c 的内容
  单词:var str = "aabc ABC abbc";
  公式:var reg = /abc*/g;
  结果:abc,ab


03、【?】指定*前边的内容可以连续重复出现0次或1次

  示例:全局查找 ab开头,0个或1个为c 的内容
  单词:var str = "aabc ABC abbc abcc";
  公式:var reg = /abc?/g;
  结果:abc,ab,abc


04、【{x}】指定{前面的字符重复的次数=x次

  示例:全局查找 ab开头,2个为c 的内容
  单词:var str = "aabc ABC abbc abcc";
  公式:var reg = /abc{2}/g;
  结果:abcc


05、【{x,y}】指定{前面的字符重复的次数x<=次数<=y

  示例:全局查找 ab开头,>=2个并且<=4个c 的内容
  单词:var str = "aabcc ABC abbc abccc";
  公式:var reg = /abc{2,4}/g;
  结果:abcc,abccc


06、【{x,}】指定{前面的字符重复的次数>=x次

  示例:全局查找 ab开头,>=2个c 的内容
  单词:var str = "aabcc ABC abbc abccc";
  公式:var reg = /abc{2,}/g;
  结果:abcc,abccc


07、【^】匹配字符串的开始

  示例:全局查找 整个字符串开头为a 的内容
  单词:var str = "aabcc ABC abbc abccc";
  公式:var reg = /^a/g;
  结果:a


08、【$】匹配字符串的结束

  示例:全局查找 整个字符串结尾为c 的内容
  单词:var str = "aabcc ABC abbc abccc";
  公式:var reg = /c$/g;
  结果:c


09、【?=x】匹配任何其后紧接指定字符串 x 的字符串

  示例:全局查找 b其后紧跟cc的b 的内容
  单词:var str = "aabcc ABC abbc abccc";
  公式:var reg = /b(?=cc)/g;
  结果:b,b


10、【?!x】匹配任何其后没紧接指定字符串 x 的字符串

  示例:全局查找 b其后没有紧跟cc的b 的内容
  单词:var str = "aabcc ABC abbc abccc";
  公式:var reg = /b(?!cc)/g;
  结果:b,b 

相关推荐