【笔记】正则笔记

/*正则表达式
	+ : 前面的字符1或者n次;等价于{1,}
	? : 前面的字符0或者1次;等价于{0,1}
	* : 前面的字符0或者n次;等价于{0,}
	. : 单个除换行符\n之外的任何字符。要匹配包括 '\n' 在内的任何字符,请使用像"(.|\n)"的模式
	| : 指明两项之间的一个选择
	(): 标记一个子表达式的开始结束位置
	^ : 匹配输入字符串的开始位置;如果是在方括号表达式中使用,此时它表示不接受该字符集合,如[^/: ]表示除了/符号跟:符号以及空格之外的任何单个字符串
	以上属于特殊字符,如果要查找,需要在前面加\符号转义。如/^abc\.js$/可以匹配成功abc.js
	[0-9] : 单个数字
	[0-9]+ : 1或n个数字
	[0-9]{3} : 3位长度的数字
	[0-9]{1,11} : 1到11位长度的数字
	[0-9]{3,} : 至少3位长度的数字
	[\u4e00-\u9fa5] : 单个中文字符
	[\u4e00-\u9fa5]{1,2} : 1到2位长度的中文字符;也有直接用中文的:var string = "2019年08月16日";var res = string.replace(/年|月/g,".").replace(/日/,"");console.log(res);
	\w : 单个数字、字母、下划线;等同于[0-9a-zA-Z_],单个字母用[a-zA-Z],只能纯数字或纯字母或结合[0-9a-zA-Z]
	\d : 单个数字;等同于[0-9]
	\D : 单个任何非数字字符;等同于[^0-9]
	\s : 单个任何空白字符,包括空格、换页符、换行符、回车符、制表符、垂直制表符、等等;等价于 [ \f\n\r\t\v]
	\S : 单个任何非空白字符;等价于 [^ \f\n\r\t\v]
	\b : 一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'
	\B : 一个非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'
	i  : 表示不区分大小写,一般是写着表达式的结尾符号/后面的
	g  : 表示查找到尽可能多的匹配,一般是写着表达式的结尾符号/后面的
	匹配:Reg.test(String);匹配的时候Reg一般都是要以^开头,以$为结束,才能更准确匹配,但不是必须写的,只有//才是必须的
	提取: String.match(Reg);提取的时候Reg一般不用^$符号,才能从字符串的任意位置开始提取
*/
var fileName = "<H1>Chapter 1 - 介绍正则表达式</H1>";
var testReg = /^(\w*\/)*(\w+\.)+(js(on)?|html)$/;
var testReg = /^(\w*\/)*(\w+(\-)?\w*\.)+(js(on)?|html)$/;
var testReg = /^(\w*\/)*(\w+(\-)?\w+\.)+(js(on)?|html)$/;

var testReg = /^(((\-)?)+\w+((\-)?(\w)?)?)+\.+(js(on)?|html)$/;
var testReg = /^(((\-)?\w)+((\-)?(\w)?)?)+\.(js(on)?|html)$/;
var testReg = /^.*\.(js(on)?|html)$/;
var testReg = /<\w+>/;
console.log(testReg.test(fileName));
console.log(fileName.match(/([\u4e00-\u9fa5])/g));//提取中文内容
console.log(fileName.replace(/<[^>]+>/g, ""));//去除html标签,[^>]表示除了>符号外的任何单个字符

var string = "2019年08月16日";
var a = string.replace(/年|月/g,".").replace(/日/,"");
console.log(a);
发布了22 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42618289/article/details/103879065