根据毕老师的说法:就是符合一定规则的表达式;
以下是看Java基础视频中关于正则表达式部分,记录的部分笔记:
正则表达式:
符合一定规则的表达式;
作用:用于专门操作字符串;
特点: 用一些特定的符号来表示一些代码操作,简化书写
好处: 可以简化对字符串的复杂操作
弊端: 符号定义越多,表达式越长,阅读性越差
1、正则表达式——匹配:
\\ 反斜线,代表 \
. 一个点,代表任意字符
[abc] 判断字符串中,某一个字符位上出现的字符
\w 代表a-zA-Z0-9 的所有字符
\d 代表 0 - 9 的数字
{4,14} 代表第4位到14位
示例:
校验QQ:
String qq = “123123”;
String regex = “[1-9][0-9]{4,14}”; // 也可写为: [1-9]\\d{4,14}
Boolean flag = qq.mathes(regex);
If(flag){
Syso “QQ号正确”
}else{
Syso “QQ号输入错误”
}
校验手机号:
String tel = “13600000001”;
String telReg = “1[358]\\d{9}”; // 1开头 第二位3、5、8,第三位0-9,,第三位的长度9位
2、切割 :
String . split ( ) ;
// 切割字符,去掉空格
String str = “ asd ee ssd ” ;
String reg = “ +” ; // 去掉多个空格
String[] arr = str . split ( reg ) ;
//System . out . println ( arr . length ) ;
for( String s : arr ) {
System . out . println ( s ) ;
}
用 . 切
String reg = “ \\ . ” ; // 需要用 \\ 把反斜杠转义
\\ 反斜杠
String path = “C:\\abc\\a.txt”;
String reg = “\\\\”; //去掉反斜杠,提取字符
// 叠词切割:
String dw = “asdwwuiokkkopopzzzzzzasd”;
( . )\\1+ 用括号封装 . 号,成为一个组;
这样就能重用第一个 . 的任意结果;
\ 1 代表引用封装后的第一个结果;也就是和第一个相同
+ 代表这个位置有多个重复的字符;
按照叠词完成切割,为了可以让规则的结果可以被重用;
可以将规则封装为一个组,用()完成,组的出现都有编号;
从1开始,想要使用已有的组可以通过 \n 的形式获取 (n 就是组的编号);
|