Java正则表达式入门到精通

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java 正则表达式快速入门儿到精通Java jdk提供大量的正则表达式工具,使您能够高效地创建、比较和修改字符串,以及迅速地分析大量文本和数据以搜索、移除和替换文本

下面是我学习时候的一些例子;每一个我都给出了注释;下面的代码可以直接

执行;

具体的细节可参照API文档和实际应用来进行详细学习和提高;

package xinxi.software.shinnexi.regexp;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class RegTest {

public static void main(String[] args) {

String str = "asdfaadfgx";

p(str.matches("..."));

p(str.replaceAll("\\d", "-"));

Pattern pattern = pile("[a-z]{3}");// 提前编译该正则表达式;返回该正则表达式的Pattern模式;

Matcher matcher = pattern.matcher(str);// 匹配的过程会产生多种结果,均保存在matcher中;

p(matcher.matches());// 返回是否与正则表达式匹配;

p(str.matches("[a-z]{10}"));

// . * + ?

System.out.println("hahhahahfadfadfadsfasdfadsf");

p("a".matches("."));// '.' Instead of a character;

p("aa".matches("aa"));// matches 'a''a';

p("aaaa".matches("a*"));//

p("aaaa".matches("a+"));// '+' one or more times ;

p("".matches("a*"));// '*' zero or more times;

p("aaaa".matches("a?"));// '?'exists once or zero times;

p("".matches("a?"));// zero lines matches;

p("a".matches("a?"));//

p("46546464645460".matches("\\d{3,100}"));// matches at least three

// times but not more than

// 100 times;

p("192.168.0.123".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3} \\.\\d{1,3}"));//

p("152".matches("[0-2][0-9][0-9]"));// ip ;

//

///////////////////////////////////////////////////////////

/////////

// Range ;

p("a".matches("[abc]"));// 取abc三者之一的;

p("a".matches("[^abc]"));// 取abc之外的其他字符;

p("A".matches("[a-zA-Z]"));// 取a到z或者A-Z之间的一个字

符;

p("A".matches("[a-z]|[A-Z]"));// 同上;

p("B".matches("[a-z[A-Z]]"));// 同上;

p("R".matches("[A-Z&&[RFG]]"));// 取A-Z之间的并且是RFG之

一的一个字符;

//

///////////////////////////////////////////////////////////

///////////

// Specify character matches;

p(" \\n\\r\\t".matches("[\\s{4}]"));// 空白字符;

p(" ".matches("\\S"));// 非空白字符;

p("a_8".matches("\\w{3}"));// matches\\w= [a-zA-Z_0-9];

p("abc888*&%^".matches("[a-z]{1,3}\\d+[*!@#$%^&*]+"));

p("\\".matches("\\\\"));

//

///////////////////////////////////////////////////////////

///////////

// POSIX pattern in Unix;

p("".matches("\\p{Lower}"));// etc.;

//

///////////////////////////////////////////////////////////

///////////

p("hello sir".matches("^h.*"));

p("hello sir".matches(".*ir$"));

p("hello sir".matches("^h[a-z]{1,3}.*o\\b.*"));// "\\b" instead of

// boundary of word is

// include specify

// character;

p("hellosir".matches("^h[a-z]{1,3}.*o\\b.*"));

//

///////////////////////////////////////////////////////////

///////////

// verify white line ;

p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));

p("aaa8888c".matches(".*\\d{4}."));

p("aaa 8888c".matches(".*\\b\\d{4}."));

p("aaa 8888c".matches(".*\\d{4}."));

p("aaa8888c".matches(".*\\b\\d{4}."));// result is

相关文档
最新文档