正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些契合某个模式(规则)的文本。在很多语言中都能够支持正则表达式,如Perl、PHP、Java、Python、Ruby等。当然在Java中也能够通过处理字符串的方式到达检索,替换文本字符串的意图,但是有了正则表达式写代码更加简练,通常两三行代码就能够到达意图,当然这也是建立在了解正则表达式的根底之上的。
正则表达式的规则
1.恣意一个字符表明匹配恣意对应的字符,如a匹配a,7匹配7,-匹配-。
2.[]代表匹配中括号中其间任一个字符,如[abc]匹配a或b或c。
3.-在中括号里边和外面代表含义不同,如在外时,就匹配-,如果在中括号内[a-b]表明匹配26个小写字母中的任一个;[a-zA-Z]匹配大小写共52个字母中任一个;[0-9]匹配十个数字中任一个。
4.^在中括号里边和外面含义不同,如在外时,就表明开头,如^7[0-9]表明匹配开头是7的,且第二位是任一数字的字符串;如果在中括号里边,表明除了这个字符之外的恣意字符(包含数字,特殊字符),如[^abc]表明匹配出去abc之外的其他任一字符。
5..表明匹配恣意的字符。
6.d表明数字。
7.D表明非数字。
8.s表明由空字符组成,[tnrxf]。
9.S表明由非空字符组成,[^s]。
10.w表明字母、数字、下划线,[a-zA-Z0-9_]。
11.W表明不是由字母、数字、下划线组成。
12.?:表明呈现0次或1次。
13.+表明呈现1次或多次。
14.*表明呈现0次、1次或多次。
15.{n}表明呈现n次。
16.{n,m}表明呈现n~m次。
17.{n,}表明呈现n次或n次以上。
18.XY表明X后边跟着Y,这儿X和Y分别是正则表达式的一部分。
19.X|Y表明X或Y,比如”food|f”匹配的是foo(d或f),而”(food)|f”匹配的是food或f。
20.(X)子表达式,将X看做是一个整体。
java正则表达式匹配字符串
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassRegexMatches
{
publicstaticvoidmain(Stringargs[]){
//按指定模式在字符串查找
Stringline="ThisorderwasplacedforQT3000!OK?";
Stringpattern="(\D*)(\d+)(.*)";
//创建Pattern对象
Patternr=Pattern.compile(pattern);
//现在创建matcher对象
Matcherm=r.matcher(line);
if(m.find()){
System.out.println("Foundvalue:"+m.group(0));
System.out.println("Foundvalue:"+m.group(1));
System.out.println("Foundvalue:"+m.group(2));
System.out.println("Foundvalue:"+m.group(3));
}else{
System.out.println("NOMATCH");
}
}
}
运行结果:
Foundvalue:ThisorderwasplacedforQT3000!OK?
Foundvalue:ThisorderwasplacedforQT
Foundvalue:3000
Foundvalue:!OK?
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com