志在指尖
用双手敲打未来

java正则表达式(匹配字符串)

java正则表达式

正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些契合某个模式(规则)的文本。在很多语言中都能够支持正则表达式,如Perl、PHP、Java、Python、Ruby等。当然在Java中也能够通过处理字符串的方式到达检索,替换文本字符串的意图,但是有了正则表达式写代码更加简练,通常两三行代码就能够到达意图,当然这也是建立在了解正则表达式的根底之上的。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表明由空字符组成,[\t\n\r\x\f]。
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?

未经允许不得转载:IT技术网站 » java正则表达式(匹配字符串)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载