正则表达式
来源:互联网 发布:java多态实例 编辑:程序博客网 时间:2024/06/06 18:09
一、定义:
正则表达式是一种字符串操作的语法规则,利用此语法规则可以灵活的实现字符串的匹配、拆分、替换。
示例:要求判断某一个字符串是否有数字组成。
示例:要求判断某一个字符串是否有数字组成。
常规方法:
publicstaticBoolean isNumber(Stringstr){
if("".endsWith(str)||null==str){
returnfalse;
}else{
chardata[]=str.toCharArray();
for(inti= 0;i<data.length;i++) {
if(data[i]>'9'||data[i]<'0'){
returnfalse;
}
}
}
returntrue;
}
二、正则标记:
1、字母:匹配单个字母
(1)A:表示匹配字母A;
(2)\\:匹配转义字符“\”;
因为在Java中反斜杠是转义符,所以要让它表示本意,需要转义符(就是另一个反斜杠)进行转义,所以就需要两个反斜杠来表示反斜杠.这样在用java正则表达式匹配时,就需要用四个反斜杠(两个是转义符,两个是反斜杠)来匹配两个反斜杠示例:
Stringstr="\\";
str.matches("\\\\")
(3)\t:匹配转义字符“\t”;
(4)\n:匹配转义字符“\n”;
2、一组字符:任意匹配里面的一个单个字符:
//Stringstr="f"; str.matches("[abcdefgABCDEFG]");
(1)[abc]:表示可能是字母a,可能是字母b或者是字母c;
(2)[^abc]:表示不是字母a,字母b,字母c的任意一个;
(3)[a-zA-Z]:表示全部字母中的任意一个;
(4)[0-9]:表示全部数字的任意一个;
(1)· :表示任意的一位字符;
(2)\d :表示任意的一位数字,等价于“[0-9]”;
(3)\D :表示任意的一位非数字,等价于“[~0-9]”;
(4)\w :表示任意的一位字母、数字、_,等价于“[a-zA-Z0-9_]”;
(5)\w :表示任意的一位非字母、数字、_,等价于“[^a-zA-Z0-9_]”;
(6)\s :表示任意的一位空格,例如:\n、\t等;
(7)\S :表示任意的一位非空格;
3、边界匹配:在以后编写JavaScript的时候使用正则中要使用到:
(1)^:表示一组正则的开始;
(2)$:表示一组正则的结束;
4、简写表达式:每一位出现的简写标记也只表示一位:
(1)· :表示任意的一位字符;
(2)\d :表示任意的一位数字,等价于“[0-9]”;
(3)\D :表示任意的一位非数字,等价于“[~0-9]”;
(4)\w :表示任意的一位字母、数字、_,等价于“[a-zA-Z0-9_]”;
(5)\w :表示任意的一位非字母、数字、_,等价于“[^a-zA-Z0-9_]”;
(6)\s :表示任意的一位空格,例如:\n、\t等;
(7)\S :表示任意的一位非空格;
5、数量表示:之前所有的正则都只是表示一位,如果要表示多位,则就需要数量表示。
(1)正则表达式?:此正则出现0次或1次;
(2)正则表达式*:此正则出现0次、1次或多次;"a".matches("a?") "".matches("a*")
(3)正则表达式+:次正则出现1次或多次;"aaaa".matches("a+")
(4)正则表达式{n}:此正则出现正好n次;
(5)正则表达式{n,}:此正则出现n次以上;
(6)正则表达式{n,m}:此正则出现n – m次。
三、String类对正则的支持
1.字符串替换 "aaa&**389fhh%m$mmdd#kk3445@ll".replaceAll("[^a-z]","");
2.字符串拆分
Stringstr="aaa0bbb1ccc2ddd3eee4";
Stringregex="[0-9]";
Stringresult[]=str.split(regex);
for(inti = 0; i < result.length;i++) {
System.out.println(result[i]);
}
阅读全文
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- #pragma once 与 #ifndef 解析
- 34. Search for a Range
- Failed to Sync Gradle, could not find com.android.support:support-annotations:23.3.0
- 分布式进程 master and task 实例
- 引用计数算法
- 正则表达式
- sleep() wait() yield() join()用法与区别
- Python基础(一):变量,注释,if-else,关键字
- Windows 下编译ncnn的android端的库
- io学习:2.细说缓存区
- SVG画箭头;文本旋转;文本沿线路径走
- 268. Missing Number
- 今天解决了一个bug,是一个页面渲染丢失页面的bug
- 排序之归并排序