标签:正则表达式 创建 大小写 基础 code 忽略 包括 false 空白
在JavaScript中创建正则表达式对象的方式有两种:第一种,使用双斜杠将表达式括起来,即 /正则表达式/。第二种,new 一个,即 new RegExp(‘正则表达式‘, [‘匹配方式‘])。其中第二种方式是以字符串形式传参,所以要注意字符串中的转义问题,例如要使用 \\ 来表示一个 \。
其中匹配方式可为:g,表示全局匹配;i,表示忽略大小写;m,表示执行多行匹配。
var r1 = /\w+/; var r2 = RegExp(‘\\w+‘); console.log(typeof r1); // object console.log(typeof r2); // object console.log(r1); // /\w+/ console.log(r2); // /\w+/
对于特殊字符需要使用 ‘\‘ 进行转义,例如表示 - 要使用 \- 来表示。
字符 | 含义 |
. | 除了回车符和换行符之外的所有字符 |
\d | 数字字符 |
\D | 非数字字符 |
\s | 空白符包括空格,制表符,换行符和换页符 |
\S | 非空白符 |
\w | 单词字符(字母、数字、下划线) |
\W | 非单词字符 |
字符 | 含义 |
? | 出现零次或一次(最多出现一次) |
+ | 出现一次或多次(至少出现一次) |
* | 出现零次或多次(任意次) |
{n} | 出现n次 |
{n,m} | 出现n到m次 |
{n,} | 至少出现n次 |
[] | 表示一个字符的集合 |
在 [] 中使用 ^ 可以排除没有 ^ 时字符集中的内容。使用 - 可以表示范围,例如 [0-9] 表示数字字符。使用 | 可以表示或。
字符 | 含义 |
^n | 匹配开头为n的字符串 |
n$ | 匹配结尾为n的字符串 |
^js$ 只能匹配字符串 ‘js‘ 。
我们可以使用小括号 () 对表达式进行分组,分组后量词和边界匹配将作用于一组。
var r1 = /Do you know{2}/; //只将w扩展2次 var r2 = /(Do you know){2}/; //将‘Do you know‘扩展2次 console.log(r1.test(‘Do you knowDo you know‘)); //false console.log(r2.test(‘Do you knowDo you know‘)); //true
用于判断给定字符串是否和正则表达式匹配。
var r = RegExp(‘\\d+‘); console.log(r.test(‘123‘)); //true
exec()
方法在匹配成功后,会返回一个Array
,第一个元素是正则表达式匹配到的整个字符串,后面的元素表示匹配成功的子串。exec()
方法在匹配失败时返回null
。
// 获取字符串中非空白字符 var str = ‘a b\tc \nd‘; console.log(str.split(/\s+/)); //[ ‘a‘, ‘b‘, ‘c‘, ‘d‘ ]
标签:正则表达式 创建 大小写 基础 code 忽略 包括 false 空白
原文地址:https://www.cnblogs.com/huwt/p/10739390.html