首页 / 正则 / Java01-正则表达式
Java01-正则表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java01-正则表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2150字,纯文字阅读大概需要4分钟。
内容图文
![Java01-正则表达式](/upload/InfoBanner/zyjiaocheng/615/65d09bfb159b43b4ae132da35d644263.jpg)
1.正则表达式的概念
1:正则表达式,(Regular Expression)缩写为regex。
2:正则表达式是一个字符串,用来定义规则,匹配一系列符合语法规则的字符串。
3:在开发中,正则表达式通常被用来检索、替换符合规则的文本。
2.正则表达式的规则
表达式 | 含义 |
---|---|
\\ | 表示\ |
\t | 制表符,相当于TAB |
\n | 换行 |
\r | 光标来到下一行的行首 |
[abc] | 匹配adc中的一个 |
[^abc] | 匹配除了adc的所有字符中的一个 |
[a-zA-Z] | 匹配52个字母中的一个 |
[0-9] | 匹配0-9中的一个 |
[a-zA-Z_0-9] | 匹配52个字母或者0-9或者_(下划线)中的一个 |
3.预定义字符
预定义字符 | 含义 |
---|---|
. | 匹配任意一个字符,使用\\. |
\d | 匹配0-9中的一个 |
\w | 相当于[a-zA-Z_0-9] |
^ | 代表行的开头([0-9]$ ) |
$ | 代表行的结尾([0-9]$ ) |
\b | 单词的边界(\b[adc]\b)adc左右需要一个非\w |
x? | 一次或者一次也没有 |
x* | 零次或者多次 |
x+ | 一次或者多次 |
x{n} | x恰好出现n次 |
x{n,} | x至少出现n次 |
x{n,m} | x出现n-m次 |
4.正则的练习
表达式 | 含义 |
---|---|
[0-9]{6,12} | 123456(true),12345(false) |
1[345678][0-9]{9} | 手机号 |
a*b | aaaab(true),abc(false) |
\\d+ | 正整数 |
\\d+\\.\\d+ | 正小数 |
-\\d+ | 负整数 |
\\d+\\.+\\d{2} | 保留两位小数的整数 |
\\d+\\.+\\d{1,3} | 保留1-3位小数的整数 |
5.正则表达式的方法
1:boolean matcher(String 正则的规则);
2:String[] split(String 正则的规则);按照规则进行分割
3:String replaceAll(String 正则的规则,String str);安装正则规则进行替换
6.正则表达式的匹配使用
/**
* 匹配qq号 第一位不是0 一共5-10位
* \d -> \会将d转义
* 使用\\d 第一个\,将第二个\转义为,普通的\
*
* \D 匹配非数组
*/
public static void run1(){
String qq = "145678945";
boolean b = qq.matches("[1-9][\\d]{4,9}");
System.out.println(b); //true
}
/**
* 匹配手机号
* 第一位是1 第二位是34578 一共11位
*/
public static void run2(){
String s = "14456789456";
boolean b = s.matches("1[34578][\\d]{9}");
System.out.println(b);
}
/**
* 匹配邮箱
* 219305625x@qq.com
* 219305625x@163.com
* 219305625x@qq.com.cn
*/
public static void run3(){
String mail = "219305625x@qq.com.cn";
boolean b = mail.matches("[\\w]+@[a-z]+(\\.[a-z]+)+");
System.out.println(b);
}
7.字符表达式的切割使用
/**
* 切割ip
* \\. 要将.转义,使用\,要输入一个\,必须输入\\
*/
public static void run2(){
String str = "192.168...124";
String[] strings = str.split("\\.+");
for(int i = 0;i < strings.length;i++){
System.out.println(strings[i]);
}
}
8.字符表达式的替换使用
public static void run(){
String s = "hel34456lo33333word";
s = s.replaceAll("[\\d]+","#");
System.out.println(s);
}
内容总结
以上是互联网集市为您收集整理的Java01-正则表达式全部内容,希望文章能够帮你解决Java01-正则表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。