• 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)

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

  • 相关阅读:
    linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题
    JavaWeb入门_模仿天猫整站Tmall_JavaEE实践项目
    flowable工作流笔记
    bladex前端反向代理(解决跨域)
    Long类型传值前端精度丢失
    blade普通字典关联
    一些东西
    java面试题经典解读
    html元素定位原理
    行转换为列
  • 原文地址:https://www.cnblogs.com/springsource/p/2674823.html
Copyright © 2020-2023  润新知