苏州园区已经烂掉了,网站搜索引擎优化主要方法,学生服务器租用,外贸网站建设方案该笔记内容通过《Learn regular expressions in about 55 minutes》整理得到。 文章链接#xff1a;https://qntm.org/files/re/re.html 其中文翻译很多#xff0c;中文名叫#xff1a;55分钟学会正则表达式。 实际上我也算过了#xff0c;55分钟实在不太可能#xff0c;也… 该笔记内容通过《Learn regular expressions in about 55 minutes》整理得到。 文章链接https://qntm.org/files/re/re.html 其中文翻译很多中文名叫55分钟学会正则表达式。 实际上我也算过了55分钟实在不太可能也许我比较笨…… 正则表达式由只代表自身的字面值和代表特定含义的元字符组成 规则1、任何元字符如果用一个反斜杆\进行转义就会变成字面值2、正则表达式是区分大小写 元字符1、句点英文句号.表示匹配任何单个字符。 2、反斜杠\将元字符进行转义成字面值其本身也可以转义写成\\。 3、字符类[]表示找到集合里任意一个字符比如[aeiou]表示任意一个方括号内的字符。[a]和a意义相同。另外字符类中顺序和重复字符不重要。注意句点.在字符类中表示其本身即句点。 3.1、字符类连字符-表示一个字符类的区间如[b-f]和[bcdef]同意思。 3.2、表示否定的插入符^在字符类最开始位置使用此字符来否定一个字符类。如[^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。 3.3、\d表示[0-9],\w表示[0-9A-Za-z_]\s表示“匹配任意空白字符空格tab回车或者换行这些如果换成大写则取反意。\D同[^0-9]\W同[^0-9A-Za-z_]\S表示“匹配任意不是空白符的字符”。 3.4、句点、大括号在字符类内只代表其字面。 4、乘法器在一个字面值和字符类后面用大括号。 如a{1}同a表示“匹配一个a” a{3}表示“找到一个a后再跟一个a最后找到一个a” a{0}表示“匹配空字符”。 4.1、乘法器区间 colou{0,1}r表示“匹配colour或color” a{3,5}表示“匹配aaaaa或aaaa或aaa” 乘法器是贪婪的如文本是I had an aaaaawful day该正则表达式就会在aaaaawful中匹配到aaaaa。不会在第三个a后就停止匹配。 区间也可以是开区间 a{1,}表示“在一列中找到一个或多个a” .{0,}表示“匹配任何情形”。不管你的输入文本是什么——甚至为空——这个正则表达式都会匹配整个字符串然后返回给你。 4.2、乘法器补充 ?等于{0,1}代表空字符或任意1个字符 *等于{0,}代表空字符或任意1个或多个字符 等于{1,}代表任意1个或多个字符 注意?* 在字符类内代表其字面意思。 5、惰性 原则上来说如果有多种匹配结果那么优先会寻找更多字符的字串。可在乘法器后追加问号实现惰性让优先顺序反转例\d{4,5}?表示“匹配\d\d\d\d”或“\d\d\d\d\d”。其实跟\d{4}一致。.*表示找到一个双引号然后再找到尽可能多的字符再跟一个双引号但.*匹配的内部字符很可能包含多个双引号这时只要写成 .*?则表示“匹配一个双引号并跟着尽可能少的字符再跟着一个双号号。6、分支符|cat|dog表示匹配cat或dogred|blue|表示匹配red或blue或空字符[cat|dog]表示匹配c,a,t,d,o,g,|任一字符。7、组合符在一周中找到一天使用(Mon|Tues|Wednes|Thurs|Fri|Satur|Sun)day\(\)表示“匹配一个左圆括号后再匹配一个右圆括号”8、单词边界单词边界是一个单词字符和非单词字符之间的位置。正则表达式\b表示“匹配一个单词边界”。\b\w\w\w\b表示“匹配一个三个字母的单词”9、行边界^表示“匹配开始行”$表示“匹配结束行”。^$表示“匹配空行”。^.*$将会匹配整个文本因为换行符是一个字符所以.会匹配它。为了匹配单行要使用惰性乘法器^.*?$。 更多专业前端知识请上
【猿2048】www.mk2048.com