JavaScript正则表达式(小白收集用)
来源:互联网 发布:武汉优化jw100 编辑:程序博客网 时间:2024/06/07 06:30
1.基本语法
创建正则表达式通过RegExp
var expresiion = / pattern / flags;
flags: g(全局模式)、i(不区分大小写)、m(表示多行)
2.pattern规则
①方括号:用于查找某个范围内的字符
[abc]:查找方括号内的任何字符
[^abc]:查找除了方括号内的任何字符
[0-9]:查找0到9的数字
(red|green|blue):查找任何指定的选项
②元字符:指的是拥有特殊含义的字符。与其他语言的正则表达式一样,模式中使用的所有元字符都必须转义。元字符包括:( [ { \ ^ $ | ) ? * + . ] }
.(点):查找单个字符,除了换行和行结束符。要匹配所有的,使用[\s\S]
\w:查找单词字符(大小写字符、下划线和数字不准确,类似但不等于[a-zA-Z0-9_],这里的单词字符使用Unicode字符,所以俄文字符什么的也是单词字符,并不只是英文字符),大写的\W的表示查找非单词字符
\d:查找数字字符,\D则相反
\s:查找空白字符,\S相反
\b:匹配单词边界,\B相反。看实例吧,/\bm/ 匹配 "moon" 中的 'm'
\n:匹配换行符 \f:换页符 \r:回车键
③量词
n+:匹配任何包含至少一个n的字符串
n*:匹配任何包含
n?:匹配任何包含零个或一个n的字符串
n{X,Y}:匹配X或Y个n的字符串
n{X,}:匹配X个n的字符串
n$:匹配以n结尾的字符串
^n:匹配以n开始的字符串
?=n:匹配任何其后紧接指定字符串n的字符串,?!n则相反
var str="Is this all there is";var patt1=/is(?! all)/gi
;
匹配的是除了this中的is?:比较特殊,当该字符紧跟在任何一个其他限制符( * + ? {n} {n,} {n,m}后面时,匹配模式是非贪婪的。非贪婪模式下尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能匹配所搜索的字符串。例如,对于字符串"oooo",/o+?/将匹配单个o,而/o+/匹配所有o
非获取匹配的意思是:不会把pattern加入捕获组中
(?:pattern):非获取匹配,
(?=pattern):非获取匹配,正向肯定预查
(?!pattern):非获取匹配,正向否定预查
(?<=pattern):非获取匹配,反向肯定预查,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”
(?<!pattern):非获取匹配,反向否定预查
④RegExp对象语法
属性:
global:是否具有标志g ignoreCase是否具有不区分大小写标志 multiline是否具有多行标志
lastIndex:一个整数,标示下一次匹配的字符位置
source:正则表达式的源文本,返回字符串,按照字面量形式返回
方法:
exec():该方法是专门为捕获组而设计的。
exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null
返回的数组虽然是Array的实例,但包含两个额外的属性:index和input(所以你说Array和Object什么关系)
index:表示匹配项在字符串中的位置
input:表示用用正则表达式的字符串
在数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式没有捕获组,则该数组只包含一项)
上例子
var text = "mom and dad and daddy";var pattern = /mom( and dad( and baby)?)?/gi;var matches = pattern.exec(text);alert(matches.index); //0alert(matches.input); // "mom and dad and baby";alert(matches[0]); //"mom and dad and bay";alert(matches[1]); " and dad and baby";alert(matches[2]); " and baby"; //前面有空格
还有个要注意的点是:对于exec()方法而言,即使在模式中设置了全局标志(g),它每次也只会返回一个匹配项。在不设置全局标志的情况,在同一个字符串上多次调用exec()将始终返回第一个匹配项的信息。而在设置全局标志的情况下,每次调用exec()则都会在字符串中继续查找新匹配项
方法:test(),它接受一个字符串参数,在模式与该参数匹配的情况下返回true;否则返回false
- JavaScript正则表达式(小白收集用)
- 正则表达式小收集
- javascript 正则表达式应用 收集
- JavaScript常用正则表达式收集
- 正则表达式(收集)
- Javascript正则表达式小例
- JavaScript正则表达式小技巧
- 常用正则表达式(收集)
- 正则表达式小用
- Javascript 用正则表达式
- 正则表达式 (javascript)
- 正则表达式(javascript)
- 正则表达式(JavaScript)
- 正则表达式(JavaScript)
- javascript(正则表达式)
- javascript的某些小用途~正则表达式
- javascript正则表达式分组的小例子
- javascript 正则表达式测试小程序
- [Java开发之路](7)RandomAccessFile类详解
- LeetCode 2 Add Two Numbers
- 数据传输加密技术分析
- PAT-求自定类型元素的最大值(基础函数题)
- 是时候改变你的开发方式了-XAF信息系统快速框架介绍
- JavaScript正则表达式(小白收集用)
- Java并发编程:Callable、Future和FutureTask
- JAVA:Collections类的shuffle()方法
- test
- php下使用 $_FILE
- 将python程序做成一个服务
- 基于duilib的多标签简易浏览器
- Linux_Cronjob_blog
- asp中遇到的几个问题——数据库连接,几个常见控件的使用问题及其解决