zoukankan      html  css  js  c++  java
  • Java--正则表达式-简单的在字符串中找数字

    import org.junit.Test;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class RegexTest {
    
        @Test
        public void test(){
            String line = "This order was placed for QT3000! OK?";
            String pattern = "\d+";
    
            // Create a Pattern object
            Pattern r = Pattern.compile(pattern);
    
            // Now create matcher object.
            Matcher m = r.matcher(line);
            if (m.find( )) {
                System.out.println("Found value: " + m.group() );
            } else {
                System.out.println("NO MATCH");
            }
        }
    }

    其中d+是匹配1个或者更多个数字。

    最后输出结果为:3000

    附上一张正则表达式元字符语法:

    子表达式匹配对应
    ^ 匹配一行的开头
    $ 匹配一行的结尾
    . 匹配除了换行符的任何单个字符,也可以利用 m 选项允许它匹配换行符
    [...] 匹配括号内的任意单个字符。
    [^...] 匹配不在括号内的任意单个字符。
    A 整个字符串的开始
    z 整个字符串的结束
     整个字符串的结束,除了最后一行的结束符
    re* 匹配0或者更多的前表达事件
    re+ 匹配1个或更多的之前的事件
    re? 匹配0或者1件前表达事件
    re{ n} 匹配特定的n个前表达事件
    re{ n,} 匹配n或者更多的前表达事件
    re{ n, m} 匹配至少n最多m件前表达事件
    a| b 匹配a或者b
    (re) 正则表达式组匹配文本记忆
    (?: re) 没有匹配文本记忆的正则表达式组
    (?> re) 匹配无回溯的独立的模式
    w 匹配单词字符
    W 匹配非单词字符
    s 匹配空格。等价于 [ f]
    S 匹配非空格
    d 匹配数字. 等价于 [0-9]
    D 匹配非数字
    A 匹配字符串的开始
     匹配字符串的末尾,如果存在新的一行,则匹配新的一行之前
    z 匹配字符串的末尾
    G 匹配上一次匹配结束的地方
    返回参考捕获组号“N”
     不在括号里时匹配单词边界。在括号里时匹配退格键
    B 匹配非词边界
    , , etc. 匹配换行符,回车符,制表符,等
    Q 引用字符的初始,结束于E
    E 结束由Q开始的引用
  • 相关阅读:
    模拟登陆并爬取Github
    Python学习--猫眼电影TOP100榜单抓取
    MATLAB拟合和插值
    Python学习--两种方法爬取网页图片(requests/urllib)
    md5码加密(Python)
    【Docker】Dockerfile 之 ENTRYPOINT(三)
    【Docker】Dockerfile 之 ENTRYPOINT(二)
    CSS---选择器种类 | 层叠性权重
    HTML---引入css,js | 常用标签示例
    DB2批量插入性能对比
  • 原文地址:https://www.cnblogs.com/eoss/p/5912805.html
Copyright © 2011-2022 走看看