下面是一些正则表达式的小例子,说明在注释中
学习来源 http://manual.phpv.net/regular_expression.html
var str = "history";
console.log(/hi/.test(str)); // true
// \b是正则表达式规定的一个元字符
// 代表着单词的开头或结尾,也就是单词的分界处
console.log(/\bhi\b/.test(str)); // false \b精确查找hi这个词
str = "hi lili and lucy";
console.log(/\bhi\b/.test(str)); // true
// .是另一个元字符,匹配除了换行符以外的任意字符。
// *同样是元字符,不过它代表的不是字符,也不是位置,而是数量
// 它指定*前边的内容可以连续重复出现任意次以使整个表达式得到匹配
// 因此,.*连在一起就意味着任意数量的不包含换行的字符。
console.log(/\bhi\b.*\blucy\b/.test(str)); // true
str = "010-12345678";
// 以0开头,然后是两个数字,然后是一个连字号"-",最后是8个数字
console.log(/0\d\d-\d\d\d\d\d\d\d\d/.test(str)); // true
// 为了避免那么多烦人的重复,我们也可以这样写这个表达式:0\d{2}-\d{8}
console.log(/0\d{2}-\d{8}/.test(str)); // true
// \ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b)
// 然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)
console.log(/\ba\w*\b/.test("a234DS")); // true
// \d+匹配1个或更多连续的数字
// 这里的+是和*类似的元字符
// 不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次
console.log(/\d+/.test("abc")); // false
console.log(/\d*/.test("abc")); // true
// \b\w{6}\b 匹配刚好6个字母/数字的单词
console.log(/\b\w{6}\b/.test("abc12")); // false
console.log(/\b\w{6}\b/.test("abc123")); // true
// 必须为5位到12位数字
console.log(/^\d{5,12}$/.test("123456")); // true
代码 | 说明 |
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
例如:unibetter\.com匹配unibetter.com,C:\\Windows匹配C:\Windows。
代码/语法 | 说明 |
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |