简单| 你需要的正则表达教程在这
2019-08-12 本文已影响0人
可爱的ruby
总结不易,喜欢的小伙伴可以点(打)赞(赏)收藏,如有错误,请批评指正
本教程的环境为该网址https://regexr.com/(一个训练正则的好去处)
你将学到:
1.花括号的用法:规定字符出现的次数
2.“ . ”、“ * ”、“+”、“?”点、星、加、问号的用法
3.方括号的用法:规定匹配字符的范围
4.\w、\W、\d、\D、\s、\S的用法
5.分组重复调用
花括号的用法
{a,b}重复a到b次

重复规定次数,如至少一次 = “+”(与+号的作用相同)


重复0次 或者 多次=“*”(与“*”(星号)作用相同)


重复0次或者一次=“?”(大白话就是可以有也可以没有)(就问号可以匹配最多一次,不能再多了)


“.”:匹配除了断行之外的任意字符

小结:
只有问号匹配最多一次(不可以再多了);
星号:0(星号靠近的左边的字符可以不出现)或者多次;
加号:1次(加号靠近的左边的字符必须出现过一次)甚至更多
前两点都讲完啦,下面进入下一小节:方括号的用法
记住:方括号里其实就是一个字符(看成一个整体对待即可,其实只是增加了多些选择而已)

扩展内容:结合花括号设置边界,就像分蛋糕,我只喜欢奶油怎么办

雷区:
花括号重复规定次数时,中间用逗号隔开
方括号规定范围时,中间用横线隔开
[a-b]:匹配a到b范围内的字符

匹配汉字:[\u4e00-\u9fa5],用多了自然记住

方括号都此结束,接下来是\w、\W、\d、\D、\s、\S的用法
\w:匹配所有的阿拉伯数字、英文大小写和下划线:可应用于匹配用户名

\W:除了\w的所有字符

\d(digital的开头字母):匹配所有的阿拉伯数字

\D:匹配除了阿拉伯数字的字符

\s(space的开头字母):匹配空格、制表符、断行符

\S: \s的反选

分组调用 “(.+)”
