<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
<script type="text/javascript">
/*********
* 正则表达式是一个描述字符模式的对象
* 可以使用一个RegExp()构造函数来创建RegExp对象
* 正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符 如:
* var expression = / pattern / flags;
* 其中模式(pattern)部分可以使任何简单或者复杂的正则表达式如字符类,限制符,分组等,每个正则表达式可以带有一个或者多个标志(flags),用以表明正则表达式的行为
* 本课程值讨论简单模式
* 正则表达式的匹配模式支持的三个标志
* g:表示全局模式(global),即模式将被应用于所有字符串而非发现一个而停止
* i:表示不区分大小写(ease-insensitive)模式,在确定匹配想时忽略模式与字符串的大小写
* m:表示多行(multiline)模式,即在确定匹配项时忽略模式与字符串的大小写
* 元字符:( [ { \ ^ $ | ) ? * + . ] }使用时必须转移
* 特殊字符
* \t /\t/ 制表符
* \n /\n/ 换行符
* \r /\r/ 回车符
* \f /\f/ 换页符
* \b /\b/ 与回退字符
* \v /\v/ 垂直制表符
* \0 /\0/ 空字符
*********/
// 预定义类
// . [^\n\r] 除了换行和回车之外的任意字符
// \d [0-9] 数字字符
// \D [^0-9] 非数字字符
// \s [ \t\n\x0B\f\r] 空白字符
// \S [^ \t\n\x0B\f\r] 非空白字符
// \w [a-zA-Z_0-9] 单词字符(所有的字母)
// \W [^a-zA-Z_0-9] 非单词字符
console.log(111);
console.log(/\d/.test("3"))//true
console.log(/\d/.test("a"))//false
console.log(/\D/.test("b"))//true
console.log(/\w/.test("c"))//true
console.log(/\W/.test("正"))//true
console.log(/\s/.test(" "))//true
console.log(/\S/.test(" "))//false
console.log(/\S/.test("则"))//true
console.log(/./.test("aa"))//true
console.log(/./.test(" "))//true
// 简单类
// 原则上正则的一个字符对应一个字符,我们可以用[]把它们括起来,让[]这个整体对应一个字符。如
console.log(222);
console.log(/ruby/.test("ruby"));//true
console.log(/[abc]/.test("a"));//true
// 负向类
// 也是在那个括号里做文章,前面加个元字符进行取反,表示匹配不能为括号里面的字符。
console.log(333);
console.log(/[^abc]/.test("a"));//false
console.log(/[^abc]/.test("gg"));//true
// 范围类
// 有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线。
console.log(444);
console.log(/[a-f]/.test("c"));//true
console.log(/[a-f]/.test("l"));//false
console.log(/[a-z]/.test("m"));//true
console.log(/[^7-9]/.test("6"));//true
// 组合类
// 用中括号匹配不同类型的单个字符。
console.log(555);
console.log(/[a-m1-5\n]/.test("b"))//true
console.log(/[a-m1-5\n]/.test("2"))//true
// ^ 开头 注意不能紧跟于左中括号的后面
// $ 结尾
// ? 出现零次或一次
// * 出现零次或多次(任意次)
// + 出现一次或多次(至少一次)
// {n} 对应零次或者n次
// {n,m} 至少出现n次但不超过m次
// {n,} 至少出现n次(+的升级版)
console.log(666);
console.log(/[\u4e00-\u9fa5]{5}/.test("正则表达式"))//true
console.log(/[\u4e00-\u9fa5]{4}/.test("正则表达式"))//true
console.log(/^[\u4e00-\u9fa5]+$/.test("正则表达式"))//true
console.log(/^[\u4e00-\u9fa5]+$/.test("正则表达式&*@@"))//false
console.log(/\d{6}/.test("123456"))//true
console.log(/[ruby]{2}/.test("rr"))//true
console.log(/[ruby]{2}/.test("ru"))//true
console.log(/[ruby]{2}/.test("ry"))//true
</script>
</html>
正则表达式复习--正则语法
最新推荐文章于 2024-08-04 15:22:29 发布