开篇先立flag
内容未至,flag先行,哈哈哈哈,希望将来再回头看,自己不是像某人一样身上插满了flag,再加上今天这个特殊的日子,纪念一下。反正注孤生,那就一直香香の!
勤耕博客
学到并且掌握了一项新技能就要过来更博,就像经营自己的网站一样用心~内容少也没关系,开心地留下痕迹最重要!
【郑重承诺】🙅满屏代码
我本人是很讨厌全篇代码的,这样的推文我基本不看,自己后期也不会想回头看,所以我的博客不接受全篇代码,自己难受,别人也难受。
进入正题
这是一篇迟到了一年的博客
去年的这个时候,刚刚加入NT,网民学长就讲了这个,奈何当时太年轻,听不懂,现在再看就容易很多,果然还是要靠年纪增长智商吗?/(ㄒoㄒ)/~~
说一下我对正则的粗浅简介
我认为正则,无论Java还是Python,就是对字符串的一种描述,外加一个过滤器,把杂乱的字符串变成自己想要的高颜值的样子。那么就来说说怎么给字符串整容吧~
这是用的比较多的几个
哪里下刀 | 怎么整(正则里的写法) |
---|---|
0~9任意一个数字 | \\d |
任意一个非数字字符 | \\D |
空格类字符 | \\s |
非空格类字符 | \\S |
可用于标识符的字符(不包括$) | \\w |
不可用于标识符的字符 | \\W |
字母 | \\p[Alpha] |
不知道标识符是什么的看这里
标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字,中文也可以,但在开发中不建议使用中文标识符,一般用英文
集合语言 | 正则语言 |
---|---|
a、b、c中任一个 | [abc] |
除a、b、c | [^abc] |
连续任一个 | [a~d] |
并集 | [a~d [m~p]] |
交集 | [a~z&&[def]] |
还有还有,一些加号问号的都是什么东东
人类语言 | 正则语言 |
---|---|
出现0或1次 | X? |
0次或多次 | X* |
出现>=1次 | X+ |
恰好n次 | X{n} |
>=n次 | X{n,} |
几个正则相关的函数
- matches
String regex = "[a~zA~Z]+";
//或者String regex = "\\p[Alpha]+";
if(str.matches(regex)){
//如果字符串str里都是字母则执行这里的操作
}
- replaceAll
String str = "欢迎大家访问http://www.xiaojiang.cn了解、参观公司";
String regex = "(http://www)\56?\\w+[.]{1}\\p{Alpha}+[.]?\\w+";
str = str.replaceAll(regex,"");
System.out.println(str);//去掉网站之后的字符串
这里\56和[.]都表示点
这个正则书上是这么写的
String regex = "(http://www)\56?\\w+\56{1}\\w+\56{1}\\p{Alpha}+";
这个很灵活,可以看自己的喜好决定。
- split
这里想墙掉的一点就是split的参数是以这个参数为分隔符
String str = "2000年11月28日,小仙女下凡来人间啦";
String regex = "\\D+";//非数字,不止一个
String digitWord[] = str.split(regex);
//这里就是以非数字的字符作为分隔标记
得到的digitWord[0]、digitWord[1]、digitWord[2]分别就是“2000”、“11”、“28”
多的也不说了,大家要是觉得讲得太简单了请移步菜鸟教程👇
链接: Java 正则表达式|菜鸟教程