首页 / 正则 / Java中的正则表达式
Java中的正则表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java中的正则表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2994字,纯文字阅读大概需要5分钟。
内容图文
![Java中的正则表达式](/upload/InfoBanner/zyjiaocheng/849/e5dbf39851da46c68dbec400a155b80d.jpg)
正则表达式
1、 字符
?a) x字符x。如‘a’代表字符a
?b) \ 反斜线字符用\代表一个
?c) \n换行符(‘\u000A’)
?d) \r回车符(‘\u000D’)
2、 字符类
?a) [abc] a、b或c(简单类)
?b) [^abc]除了a、b、c的任何字符
?c) [a-zA-Z]a到z或A到Z,两头字母包括在内
?d) [0-9] 0到9的字符都包括
??i. qq.matches([1-9][0-9]{4,14})代表的是第一位是取1到9,后面紧跟的至少4位最多14位取值是0到9,
?最终数据是5-15位
??ii. 也可以写作qq.matches([1-9]{1}[0-9]{4,14})
3、 预定义字符类
?a) . 表示任何字符。如果想表示 . 可以用 . 来表示
?b) \d表示数字[0-9] 这里需要注意的是此处的\需要用\来代替。
?c) \w单词字符:[a-zA-Z_0-9]
??i. 在正则表达式里面组成单词的东西必须由这些东西组成
4、 边界匹配器
?a) ^行的开头
?b) $行的结尾
?c) \b单词边界:只要不是单词字符就都是单词边界
5、 数量词
?a) X? X一次或一次也没有
?b) X* X零次或多次
?c) X+ X一次或多次
?d) X{n} X恰好n次
?e) X{n,} X至少n次
?f) X{n,m} X至少n次,但不超过m次
6、 正则表达式的应用
?a) public boolean matches(String regex)判断功能
??i. 位于String类中告知此字符串是否匹配给定的正则表达式
?b) public String [] split (String regex)分割功能
??i. String类,根据正则表达式来匹配拆分字符串。
??ii. 18-24如果想进行拆分两个数字18和24
??iii. String s=”18-24”
??iv. String regex=”-”
??v. String []array=s.split(regex)
??vi. a=Integer.parseInt(array[0]) //18
??vii. b=Integer.parseInt(array[1])//24
?c) public String replaceAll(String regex,String replacement)替换功能
??i. Stirng类
??ii. String s=”hel123lowo456rld”;//去除字符串中的数字,变为*
??iii. String regex=”\d+”;
??iv. String ss=””
??v. String result =s.replaceAll(regex,ss);//输出结果为helloworld
??vi. //如果想把字符串中每个数字都变为则需要修改String regex=”\d+”;将其修改为String regex=”\d”。
?d) 获取功能需要使用Pattern和Matcher类(在下面实例中给出代码)
??i. 也可用于判断功能(但是不如上面的a方法进行判断简单)
??ii. Pattern p=pattern.compile(“a*b”)//将正则表达式编译成模式对象,a出现零次或多次,b出现一次。
??iii. Matcher m=p.matcher(“aaaab”)//通过模式对象得到匹配对象aaaab为匹配字符串
??iv. boolean b=m.matches()//b输出结果为true
正则表达式的获取功能实例
package test08_zhengdingbiaodashi;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//功能实现获取字符串s中的长度为5的独立字符
public class Research {
public static void main(String[] args) {
//字符串
String s="hello world zfliu 1996 20181025 ";
//正定表达式规则,因为是独立字符串此处必须要加上字符\\d以获取字符边界
String regex="\\b\\w{5}\\b";
//把规则编译成模式对象
Pattern p=Pattern.compile(regex);
//通过模式对象得到匹配器对象
Matcher m=p.matcher(s);
//调用匹配器功能
//创建匹配对象后可以进行三个不同的操作,每个操作都会返回以恶搞boolean值
//1、public boolean matches()方法尝试将整个输入序列与该模式匹配
//2、public boolean lookingAt()尝试将输入序列从头开始与该模式匹配,只从头开始进行一次成功匹配
//3、public boolean find()方法扫描输入序列以查找与该模式匹配的下一个子序列,从头开始可以进行多次成功匹配
//注意每次必须调用find方法之后再调用group方法得到匹配的字符
///public String group();
while(m.find()) {
String s1=m.group();
System.out.println(s1);
}
}
}
内容总结
以上是互联网集市为您收集整理的Java中的正则表达式全部内容,希望文章能够帮你解决Java中的正则表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。