JavaScript 正则表达式:
- 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。
- 搜索模式可用于文本搜索和文本替换。
RegExp对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
什么是正则表达式?
- 正则表达式是由一个字符序列形成的搜索模式
- 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容
- 正则表达式可以使一饿简单的字符,或一个更复杂的模式
- 正则表达式可用于所有文本搜索和文本替换的操作`
语法
/正则表达式主体/修饰符(可选)
其中修饰符是可选的。
创建RegExp对象的语法
new RegExp(pattern, attributes);
参数
- 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
- 参数 attributes 是一个可选的字符串,包含属性 “g”、“i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
返回值
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
正则符号
方括号
方括号用于查找某个范围内的字符:
[abc] : 查找方括号之间任何字符。
[^abc]: 查找方括号内以外的字符。
[0-9] : 查找任何0至9的数字。
[a-z] : 查找任何从小写 a 到小写 z 的字符。
[A-Z] : 查找任何从小写 a 到小写 z 的字符。
元字符
元字符是拥有特殊含义的字符:
. : 除了回车和换行以外的任意字符
\d : 查找数字。
\D : 查找非数字
\w : 查找单词字符
\W : 非单词字符。
\s : 查找空白字符。
\b : 匹配单词边界。
\B : 非单词边界
\n : 换行符。
\f : 换页符
\r : 回车符
\t : 制表符
\v : 垂直制表符##
量词
n+ :匹配任何包含至少一个n的字符串。
n* :匹配任何包含零个或多个n的字符串。
n?:匹配任何包含零个或一个n的字符串。
^n : 匹配开头为n的字符串
n$ : 匹配以n结尾的字符串
test()方法
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
语法:
RegExpObject.test(string)
返回值:
如果字符串string中含有与RegExpObject匹配的文本,就返回true,否则就返回false。
console.log(/./.test("\r")); //false
var reg = /张|李/
console.log(reg.test("张三在吃梨子")); //true