码迷,mamicode.com
首页 > 其他好文 > 详细

第10章 正则表达式

时间:2016-06-13 13:25:12      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

10.1 正则表达式

  10.1.1 直接量字符

技术分享
<script type="text/javascript">
    var pattern = /s$/;
    console.log(Object.prototype.toString.call(pattern));
    console.log(typeof pattern);
    //^$.*+?=!:|\/()[]{}
</script>
View Code

  10.1.2 字符类

技术分享
<script type="text/javascript">
    //将直接量字符单独放进方括号内就组成了字符类(character class),一个字符类可以匹配它包含的任意字符
    //[...] 方括号内的任意字符
    //[^...] 不在方括号内的任意字符
    //.除换行符和其他Unicode行终止符之外的任意字符
    //\w任何ASCII字符组成的单词,等价于[a-zA-Z0-9]
    //\W任何不适ASCII字符组成的单词,等价于[^a-zA-Z0-9]
    //\s任何Unicode空白符
    //\S任何非Unicode空白符的字符,注意\w和\S不同
    //\d任何ASCII数字,等价于[0-9]
    //\D除了ASCII数字之外的任何字符,等价于[^0-9]
    //[\b]推格直接量
</script>
View Code

  10.1.3 重复

技术分享
<script type="text/javascript">
    //{n,m} 匹配前一项至少n次,但不能超过m次
    //{n,}  匹配前一项n次或者更多次
    //{n} 匹配前一项n次
    //? 匹配前一项0次或者1次,也就是说前一项是可选的,等价于{0,1}
    //+ 匹配前一项1次或多次,等价于{1,}
    //* 匹配前一项0次或多次,等价于{0,}
    /\d{2,4}/
    /\w{3}\d?/
    /\s+java\s+/
    /[^(]*/
</script>
View Code

  10.1.4 选择,分组和引用

技术分享
<script type="text/javascript">
    //正则表达式的语法还包含指定选择项,子表达式分组和引用前一子表达式的特殊字符
    //| 选择,匹配的是该符号左边的子表达式或右边的子表达式
    //(...) 组合,将几个项组合为一个单元,这个单元可通过"*","+","?"和"|"等符号加以修饰
    //而且可以记住和这个组合相匹配的字符串以供此后的引用使用
    //(?...) 只组合,把项组合到一个单元,但不记忆与该组相匹配的字符
    //\n 和第n个分组第一次匹配的字符相匹配,组是圆括号中的子表达式(也有可能是嵌套的),组索引是从左到右的左括号数,"(?:"形式的分组不编码
</script>
View Code

  10.1.5 指定匹配位置

技术分享
<script type="text/javascript">
    //^匹配字符串的开头,在多行检索中,匹配一行的开头
    //$匹配字符串的结尾,在多行检索中,匹配一行的结尾
    //\b匹配一个单词的边界,简言之,就是位于字符\w和\W之间的位置,或位于字符\w和字符串的开头或结尾之间的位置
    //\B匹配非单词边界的位置
    //(?=p) 零宽正向先行断言,要去接下来的字符都与p匹配,但不能包括匹配p的那些字符
    //(?!p) 零宽负向先行断言,要求接下来的字符不p匹配
</script>
View Code

  10.1.6 修饰符

技术分享
<script type="text/javascript">
    //i 执行不区分大小写的匹配
    //g 执行一个全局匹配,简言之,即找到所有的匹配,而不是在找到第一个后就停止
    //m 多行匹配模式,^匹配一行的开头和字符串的开头,$匹配行的结束和字符串的结束
</script>
View Code

10.2 用于模式匹配的String方法

技术分享
<script type="text/javascript">
    console.log("JavaScript".search(/script/i));    //返回第一个与之匹配的子串的起始位置,如果找不到匹配的子串,它将返回-1
    //var text;
    //text.replace(/javascript/gi,"JavaScript");

    //var quote = /"([^"]*)"/g;
    //text.replace(quote,‘"$1"‘);

    //match
    //splite
</script>
View Code

10.3 RegExp对象

  10.3.1 RegExp的属性

技术分享
<script type="text/javascript">
    //每个RegExp对象都包含5个属性
    //source    只读的字符串,包含正则表达式的文本
    //global    只读的布尔值,用以说明正则表达式是否带有修饰符g
    //ignoreCase    只读的布尔值,用以说明正则表达式是否带有修饰符i
    //multiline 只读的布尔值,用以说明正则表达式是否带有修饰符m
    //lastIndex 这个属性存储在整个字符串中下一次检索的开始位置
</script>
View Code

  10.3.2 RegExp的方法

技术分享
<script type="text/javascript">
    //RegExp.exec()
    //RegExp.test()
    //RegExp.search();
    //RegExp.replace()
    //RegExp.match();
</script>
View Code

第10章 正则表达式

标签:

原文地址:http://www.cnblogs.com/revoid/p/5579985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!