正则
正则是什么?
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
在学习正则前,我们先复习一下字符串
indexOf() 从左到右索引
substring(x,y) 从第x个到第y个查找
substr(x,y) 从第x个开始查,查y个长度
slice() 与substring相同
split() 将括号内的字符串转化为数组
.length 字符串的长度
replce(x,y) x为要替换的值,y为替换的值
search(x) 找到x并返回所在位置
正则的优点
正则的缺点
符号繁多难理解,常被称为火星文。
但是我们不用怕,因为下面我就要说正则各种符号的意义
正则如何表达呢?
我们有两种表达方式
var a = /x/
var a = new RegExp("x","y")
参数x是一个字符串,指定了正则表达式的模式或其他正则表达式
参数y是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配
修饰符
- i (执行对大小写不敏感的匹配。)
- g (执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。)
- m (执行多行匹配。)
特殊字符
() (用来分组)
[] (查找括号内字符)
{} (匹配括号内字符数量的字符)
n+ (匹配任何包含至少一个 n 的字符串)
n* (匹配任何包含零个或多个 n 的字符串)
n? (匹配任何包含零个或一个 n 的字符串)
n{X} (匹配包含 X 个 n 的序列的字符串)
n{X,Y} (匹配包含 X 至 Y 个 n 的序列的字符串)
n{X,} (匹配包含至少 X 个 n 的序列的字符串)
n$ (匹配任何结尾为 n 的字符串)
^n (匹配任何开头为 n 的字符串)
?=n (匹配任何其后紧接指定字符串 n 的字符串)
?!n (匹配任何其后没有紧接指定字符串 n 的字符串)
预定义字符
\w (查找单词字符)\W (查找非单词字符)\d (查找数字)\D (查找非数字字符)\s (查找空白字符)\S (查找非空白字符)\b (匹配单词边界)\B (匹配非单词边界)\0 (查找 NUL 字符)\n (查找换行符)\f (查找换页符)\r (查找回车符)\t (查找制表符)\v (查找垂直制表符)