正则表达式
2018-10-30 08:58:06 10 举报
AI智能生成
基础正则表达式思维导图
作者其他创作
大纲/内容
五、特殊字符
\\
正常字符前面如果有\\。表示这个字符是特殊字符不再是原来的字符含义,如\\b表示单词边界
特殊字符前面加了\\。则特殊字符变为普通字符.如*表示0或多个,\\*就表示*
使用new RegExp方式时,因其第一个参数是字符串,所以项使用\\转义时,要写\\\\
\换行
\回车
\\s匹配一个空白字符,包括空格、制表符、换页符和换行符,\\S非空白
\\w匹配一个单字字符(字母、数字或者下划线).\\W非单字字符
^
匹配输入的开始,如果是多行模式,则可也匹配一行的开始
当^作为第一个字符出现在一个字符集合模式时,它将会有不同的含义,如[^.....]
$
匹配输入的结束,如果是多行模式,则可也匹配一行的结尾
.
匹配除了换行以为的任意一个字符
(x)分组
匹配x并记住,()称为捕获括号
正则中可也用\\1..\\9来替代匹配
但在replace中。则用“$1 $2”等来代替
分组捕获中如果有全局,则不在捕获,需要用到\\g时用reg.exec
(?:x)
匹配x但不记住,称为非捕获括号,因为分组只有9个
x(?=y)
匹配x并且也后面必须是y
x(?!y)
匹配x并且后面必须不是y
x|y
匹配x或者y
[]
[xyz]
/[18]/表示的是1或者8都满足
/[12-89]/表示的是1或2到8或9
[^xyz]
非,不是x,不是y,不是z
正则表达式
二、创建
1、使用正则表达式字面量
1.1 /pattern/flags
1.2 脚本加载后即可得到编译,如果你的表达式不是变化的,用这种效率更高
2、使用RegExp对象
2.2 这种方式,在运行时编译,如果事先不确定表达式可用此方法
三、编写
1简单模式
1.1直接给出匹配的字符,如/abc/就匹配abc
2使用特殊字符
四、基础
1字符串和RegExp的方法
reg.exec
reg.exec(str)返回匹配的结果数组,不匹配则返回null,每执行一次exex就向后匹配一次
如果表达式里面有括号,成为组匹配,返回结果种,第一个是整体匹配结果,后面依次是每个组匹配结果的副本
如果表达式有g选项进行全局搜索,则可也多次使用exec,下次的匹配从上次的结果开始
reg.test
reg.test(str)返回true或false,表示是否匹配成功
str.match
str.match(reg),与reg.exec相似,但是,如果使用g选项,则str.match一次性返回所有结果
str.search
str.seach(reg),返回匹配成功的第一个位置
str.replace
str.split
2img选项
i忽略大小写
m多行模式
g全局搜索
3次数{}
{n}
前面你字符正好n次
最少n次,最多m次
+
?
如果经跟在任何量词*、+、?或{}后面,将会使量词变为非贪婪模式,默认为贪婪模式
*
4贪婪
0 条评论
回复 删除
下一页