正则表达式学习笔记
2018-02-05 18:49
295 查看
正则表达式
正则表达式测试网站:regexr.com
基础知识
1.量词
runoo+b,可以匹配 runoob、runooob、runoooooob 等。+ 号代表前面的字符必须至少出现一次(1次或多次)。
runoo*b,可以匹配 runob、runoob、runoooooob 等。
* 号代表字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。
colou?r 可以匹配 color 或者 colour。
? 问号代表前面的字符最多只可以出现一次(0次、或1次)。
o{2} fo{2}d 可以匹配 food
n 是一个非负整数。匹配确定的 n 次。
o{2,} fo{2,}d 可以匹配 food foood fooood
n 是一个非负整数。至少匹配n 次。
o{2,5} fo{2,5}d 可以匹配 food foood fooood foooood
m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
2.非打印字符
\f 换页符 \n 换行符 \r 回车符 \s 任何空白字符 \S 任何非空白字符 \t 制表符 \v 垂直制表符
3.需转义字符
例: $$ () * + . [] ? \ ^ {} |
4.定位符
定位符使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界。
^ :匹配输入字符串开始的位置。 $ : 匹配输入字符串结尾的位置。 /^[1-9][0-9]{0,1}$/ 例: 01/false 11/true 123/false \b : 匹配一个字边界,即字与空格间的位置。 /\bCha/ 例:Chase /true cd /false /头边界 /Cha\b/ 例:haCha /true hacha/false 尾边界 \B : 非字边界匹配。
5.贪婪/非贪婪 匹配
*、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。var str = `<H1>Chapter 1 - 介绍正则表达式</H1>`; 贪婪:下面的表达式匹配从开始小于符号 (<) 到关闭 H1 标记的大于符号 (>) 之间的所有内容。 var reg = /<.*>/ (贪婪匹配) str.match(reg)[0] // <H1>Chapter 1 - 介绍正则表达式</H1> var reg1 = /<.*?>/ (非贪婪匹配) str.match(reg1)[0] // <H1>
相关文章推荐
- 黑马程序员_学习笔记4 IO流以及正则表达式解决一个传智播客的问题
- 学习正则表达式笔记
- JavaScript学习笔记之——正则表达式总结
- 关于c#.net 正则表达式 学习笔记
- 正则表达式学习笔记
- Java学习笔记之常用方法类(一)String类、正则表达式
- PHP学习笔记【13】_正则表达式
- bash shell学习-正则表达式基础 (笔记)
- 正则表达式学习笔记(5)正则表达式中的圆括号
- 正则表达式学习笔记
- 鸟书shell 学习笔记(二) shell中正则表达式相关
- python学习之正则表达式笔记
- 我的php学习笔记(三十三)PHP中正则表达式学习及应用(一)
- 正则表达式-学习笔记02
- Python3 高级功能学习笔记(面向对象和正则表达式)
- 黑马程序员 java学习笔记--正则表达式
- 正则表达式学习笔记
- C#Regex正则表达式学习笔记
- Python学习笔记--正则表达式,re模块
- 【JavaSE_学习笔记】正则表达式