JAVA的正则表达式

JAVA的正则表达式

  1. 判断一个字符是否匹配一个模式

建立一个模式:

String patternRule=”var dataArray=\\[(.*)\\]\\; FRunTimeQuote.GetData\\(dataArray\\)”;

 //定义匹配条件

Pattern p=Pattern. .compile(patternRule);

获取匹配类:

String content=”var dataArray=['XAGUSD', '白银美元', 32.8900, 0.68, '2.11%', '2012-09-06','32.2100', '32.9800', '32.2000', 32.2100, 2.4223602484472, 32.94, 32.89]; FRunTimeQuote.GetData(dataArray)”;  //需要进行匹配判断的内容

Matcher m=p.matcher(content); //进行匹配

输出是否匹配

System.out.println(m.matches());

输出提取内容

System.out.println(m.group(1));

注意,先匹配才能提取,如

m.matches();

m.group(1);

直接调用group是不行的

注意点 : 在JAVA中正则表达式语法和别的是一样的, 但是注意很多字符都需要转换.比如\\[ ,\\,( \\.等,在特殊字符前面加上‘\\’进行转换匹配.,主要原因是在正则表达式中特殊符合是加’\’表示的,但JAVA中’\’本身就是转义字符,所以加’\\’表示’\’.

比如:

标准正则表达式中匹配’(’ 是 ‘\(’

在JAVA中表示匹配’(’ 是用’\\(’

;

关键字:如果不匹配直接提取会报错:

java.lang.IllegalStateException: No match found

      at java.util.regex.Matcher.group(Matcher.java:468)

      at com.ben.collection.HXSilverPrice.getPriceInfor(HXSilverPrice.java:34)

      at com.ben.collection.HXSilverPrice.main(HXSilverPrice.java:39)

对于正则表达式的规则网上一大堆就不罗列了

原文地址:https://www.cnblogs.com/springsource/p/2674823.html