JavaScript —— 正则表达式元字符
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>正则表达式</title>
<script>
/**
* 正则表达式:也叫规则表达式,按照一定的规则组成的一个表达式,这个表达式的作用主要是匹配字符串的,
*
* 正则表达式的作用:匹配字符串的
* 在大多数的编程语言中都可以使用
*
* 正则表达式的组成:石油元字符或者是限定符组成的一个式子
*
* 元字符:
* (1). 除了\n以外的任意一个字符 '1'
* (2)[] 1、范围,[0-9] 0-9之间的任意一个数字|[a-z] a-z之间的任意一个小写字母|[A-Z] A-Z之间的任意一个大写字母|[a-zA-Z] a-z A-Z 之间的任意一个字母|[0-9a-zA-Z] 任意一个数字或者字母
* 2、把正则表达式中元字符的意义干掉 [.] 表示的就是 一个.
* (3)| 或者 [0-9]|[a-z] 要么是一个数字 要么是一个小写字母
* (4)() 分组 提升优先级 如,[0-9]|([a-z])|[A-Z]优先计算小括号里面的小写字母 如,([0-9])([a-z])([A-Z]) 三组 从最左边开始计算 如,(()(())) 四组 (()((
*
* 以下这些既是元字符也可叫限定符:
* (5) * 表示的是:前面的表达式出现了0次到多次 [a-z][0-9]* 会出现任意一个小写字母 且数字会出现0次到多次
* 'svnazsjb230203023' [a-z][0-9]* true
* (6)+ 表示前面表达式出现1次或多次
* [a-z][9]+ 一个小写字母后面最少1个9,或者多个9 "jafmv9vadv"
* (7)? 表示的是前面的表达式出现了0次到1次,最少0次,最多1次,另一个含义:阻止贪婪模式[4][a-z]? "142324ij"
*
* 限定符:限定前面的表达式出现的次数
*
* (8) { } 可以更明确前面的表达式出现的次数
* (1、 {0,} 表示前面的表达式出现了0次到多次(*)
* (2、 {1,} 表示前面的表达式出现了1次到多次(+)
* (3、 {0,1} 表示前面的表达式出现了0次到1次(?)
* (4、 {3,4} 表示前面的表达式出现了3次到4次
* (5、 {4} 表示前面的表达式出现了4次
* (6、 {,30} 错误的
* (9) ^ 表示的是以什么开始(^[0-9] 以数字开头; ^[a-z] 以小写字母开头),或者是取非(取反)([^0-9] 非数字; [^0-9a-zA-Z)] 取特殊符号(下划线_不是特殊符号)
*(10) $ 表示以什么结束[0-9][a-z]$ 必须以一个小写字母结束(1a); ^[0-9][a-z]$ 相当于严格模式 这样写 "1234re" falus// "4f" true
*(11) \d 数字中的任意一个
*(12) \D 非数字中的任意一个(字母+特殊符号)
*(13) \s 空白符中的任意一个
*(14) \S 空白符中的任意一个
*(15) \w 非特殊符号(_)等价于[^0-9a-zA-Z_]
*(16) \W 特殊符号 等价于[0-9a-zA-Z_]
*(17) \b 单词的边界
*(18) \f 换页符
*(19) \n 换行符
* * * * * * */
/* #### 常用元字符串
| 元字符 | 说明 |
| ---- | --------------- |
| \d | 匹配数字 |
| \D | 匹配任意非数字的字符 |
| \w | 匹配字母或数字或下划线 |
| \W | 匹配任意不是字母,数字,下划线 |
| \s | 匹配任意的空白符 |
| \S | 匹配任意不是空白符的字符 |
| . | 匹配除换行符以外的任意单个字符 |
| ^ | 表示匹配行首的文本(以谁开始) |
| $ | 表示匹配行尾的文本(以谁结束) |
#### 常用元字符串
| 元字符| 说明 |
| ---- | ------------------------------ |
| \d | 匹配数字 |
| \D | 匹配任意非数字的字符 |
| \w | 匹配字母或数字或下划线 |
| \W | 匹配任意不是字母,数字,下划线 |
| \s | 匹配任意的空白符 |
| \S | 匹配任意不是空白符的字符 |
| . | 匹配除换行符以外的任意单个字符 |
| ^ | 表示匹配行首的文本(以谁开始) |
| $ | 表示匹配行尾的文本(以谁结束) |
#### 限定符
| 限定符 | 说明 |
| ----- | -----------------|
| * | 重复零次或更多次 |
| + | 重复一次或更多次 |
| ? | 重复零次或一次 |
| {n} | 重复n次 |
| {n,} | 重复n次或更多次 |
| {n,m} | 重复n到m次 |
#### 其它
[] 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思
[^] 匹配除中括号以内的内容 \ 转义符 | 或者,选择两者中的一个。
注意|将左右两边分为两部分,而不管左右两边有多长多乱 () 从两个直接量中选择一个,
分组 eg:
gr(a|e)y匹配gray和grey
[\u4e00-\u9fa5] 匹配汉字
*/ </script>
</head>
</html>
JavaScript —— 正则表达式元字符的更多相关文章
- javascript正则表达式——元字符
元字符(Metacharacter)是拥有特殊含义的字符: 元字符 描述 (1) . 查找单个字符,除了换行和行结束符. 例子: <!DOCTYPE h ...
- JavaScript正则表达式详解(一)正则表达式入门
JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...
- JavaScript 正则表达式上——基本语法
定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- JavaScript正则表达式(三)
正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式 ...
- javascript正则表达式简介
javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String ...
- 第一百零五节,JavaScript正则表达式
JavaScript正则表达式 学习要点: 1.什么是正则表达式 2.创建正则表达式 3.获取控制 4.常用的正则 假设用户需要在HTML表单中填写姓名.地址.出生日期等.那么在将表单提交到服务器进一 ...
- JavaScript正则表达式知识点
通过学习imooc课程<JavaScript正则表达式>http://www.imooc.com/video/12539,对视频教学内容做一个知识整理. 一个正则表达式在线工具:http: ...
- javascript 正则表达式补充
定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- JavaScript 正则表达式基础语法
前言 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当 ...
随机推荐
- [Luogu2600]合并神犇(dp,贪心)
[Luogu2600]合并神犇 题目背景 loidc来到了NOI的赛场上,他在那里看到了好多神犇. 题目描述 神犇们现在正排成一排在刷题.每个神犇都有一个能力值p[i].loidc认为坐在附近的金牌爷 ...
- Promise.all 的原理
// all的原理 Promise.all = function(values){ return new Promise((resolve,reject)=>{ let results = [] ...
- [CSS]CSS中使用span和div遇到的问题
一. span和div的区别 1.span是行级元素,div是块级元素2.span占用的宽度是内容的宽度,而div默认是一行.所以一般在页面中,只有一行或不到一行文字用span,元素占据多行时用div ...
- 转Serial,Parallel,CMS,G1四大GC收集器特点小结
转 https://blog.csdn.net/u013812939/article/details/48782343 1.Serial收集器 一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有 ...
- python 小工具 重命名当前文件夹内所有的文件,升序命名
背景:一个朋友想升序重命名他的照片,但是太多了不想手动所以,emememem os这个模块,不用说,rename,filedir等 #conding=utf8 import os path = os. ...
- RedisTemplate 事务处理方法 watch multi exec 的使用
@Autowired RedisTemplate<String,String> redisTemplate; redisTemplate.execute(new SessionCallba ...
- python学习笔记(七)模块
一个python文件就是一个模块 1.标准模块 python自带的,不需要你安装的 2.第三方模块 需要安装,别人提供的,例:pip install radis 如果提示没有pip,把python下s ...
- Java Web学习笔记之---JSP
Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...
- vue 3.0 vue-cli项目搭建要点
一.使用vue-cli搭建项目(可使用vue ui图形化界面搭建项目,配置dist时,将名称设为项目名称) 二.项目搭建后 1.配置vue.config.js // 翻阅文档https://cli.v ...
- python-zx笔记10-断言
断言 断言内容是自动化脚本的重要内容,正确设置断言以后才能帮助我们判断测试用例执行结果. 断言方法 assertEqual(a, b) 判断a==b assertNotEqual(a, b) 判断a! ...