如下演示
代码用scala书写,但是正则调用的是java的正则代码

import java.util.regex.{Matcher, Pattern}object delete extends App {//Compiles the given regular expression into a pattern.val pattern: Pattern = Pattern.compile("(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])\\d{8}")//Creates a matcher that will match the given input against this pattern.private val matcher: Matcher = pattern.matcher("11/Dec/2020:21:16:02 +0800#CS#POST /B2C40/dist/main/images/common.png HTTP/1.1#CS#POST#CS#application/x-www-form-urlencoded; charset=UTF-8#CS#json=%7B%22depcity%22%3A%22CAN%22%2C+%22arrcity%22%3A%22WUH%22%2C+%22flightdate%22%3A%2220180220%22%2C+%22adultnum%22%3A%221%22%2C+%22childnum%22%3A%220%22%2C+%22infantnum%22%3A%220%22%2C+%22cabinorder%22%3A%220%22%2C+%22airline%22%3A%221%22%2C+%22flytype%22%3A%220%22%2C+%22international%22%3A%220%22%2C+%22action%22%3A%220%22%2C+%22segtype%22%3A%221%22%2C+%22cache%22%3A%220%22%2C+%22preUrl%22%3A%22%22%2C+%22isMember%22%3A%22%22%7D#CS#http://b2c.csair.com/B2C40/modules/bookingnew/main/flightSelectDirect.html?t=S&c1=CAN&c2=WUH&d1=2018-02-20&at=1&ct=0&it=0#CS#192.168.10.1#CS#Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36#CS#2020-12-11T21:16:02+08:00#CS#192.168.10.99#CS#JSESSIONID=782121159357898886-112554CF44321E; sid=b5cc11e02e154ac5b0f3609332f86803; aid=8ae8768760927e280160bb348bef3e12; identifyStatus=N; userType4logCookie=M; userId4logCookie=13818791413; useridCookie=13818791413; userCodeCookie=13818791413; temp_zh=cou%3D0%3Bsegt%3D%E5%8D%95%E7%A8%8B%3Btime%3D2018-01-13%3B%E5%B9%BF%E5%B7%9E-%E5%8C%97%E4%BA%AC%3B1%2C0%2C0%3B%26cou%3D1%3Bsegt%3D%E5%8D%95%E7%A8%8B%3Btime%3D2018-01-17%3B%E5%B9%BF%E5%B7%9E-%E6%88%90%E9%83%BD%3B1%2C0%2C0%3B%26; JSESSIONID=782121159357B98CA6112554CF44321E; WT-FPC=id=211.103.142.26-608782688.30635197:lv=1516170718655:ss=1516170709449:fs=1513243317440:pn=2:vn=10; language=zh_CN; WT.al_flight=WT.al_hctype(S)%3AWT.al_adultnum(1)%3AWT.al_childnum(0)%3AWT.al_infantnum(0)%3AWT.al_orgcity1(CAN)%3AWT.al_dstcity1(CTU)%3AWT.al_orgdate1(2018-01-17)")//尝试查找与模式匹配的输入序列的下一个子序列。//此方法从该匹配器区域的开始处开始,或者,如果该方法的上一次调用成功并且自此之后未重置匹配器,则从与上一个匹配项不匹配的第一个字符开始。//如果匹配成功,则可以通过开始,结束和分组方法获取更多信息。while (matcher.find()) {//返回与前一个匹配项匹配的输入子序列。//对于具有输入序列s的匹配器m,表达式m.group()和s.substring(m.start(),m.end())是等效的。//请注意,某些模式(例如a *)与空字符串匹配。 当模式成功匹配输入中的空字符串时,此方法将返回空字符串。println(matcher.group())}
}

结果

15935789888
13818791413
13818791413
13818791413
15161707186
15161707094
15132433174

获取匹配字符串的索引位置

import java.util.regex.{Matcher, Pattern}object delete extends App {//Compiles the given regular expression into a pattern.val pattern: Pattern = Pattern.compile("(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])\\d{8}")val s="11/Dec/2020:21:16:02 +0800#CS#POST /B2C40/dist/main/images/common.png HTTP/1.1#CS#POST#CS#application/x-www-form-urlencoded; charset=UTF-8#CS#json=%7B%22depcity%22%3A%22CAN%22%2C+%22arrcity%22%3A%22WUH%22%2C+%22flightdate%22%3A%2220180220%22%2C+%22adultnum%22%3A%221%22%2C+%22childnum%22%3A%220%22%2C+%22infantnum%22%3A%220%22%2C+%22cabinorder%22%3A%220%22%2C+%22airline%22%3A%221%22%2C+%22flytype%22%3A%220%22%2C+%22international%22%3A%220%22%2C+%22action%22%3A%220%22%2C+%22segtype%22%3A%221%22%2C+%22cache%22%3A%220%22%2C+%22preUrl%22%3A%22%22%2C+%22isMember%22%3A%22%22%7D#CS#http://b2c.csair.com/B2C40/modules/bookingnew/main/flightSelectDirect.html?t=S&c1=CAN&c2=WUH&d1=2018-02-20&at=1&ct=0&it=0#CS#192.168.10.1#CS#Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36#CS#2020-12-11T21:16:02+08:00#CS#192.168.10.99#CS#JSESSIONID=782121159357898886-112554CF44321E; sid=b5cc11e02e154ac5b0f3609332f86803; aid=8ae8768760927e280160bb348bef3e12; identifyStatus=N; userType4logCookie=M; userId4logCookie=13818791413; useridCookie=13818791413; userCodeCookie=13818791413; temp_zh=cou%3D0%3Bsegt%3D%E5%8D%95%E7%A8%8B%3Btime%3D2018-01-13%3B%E5%B9%BF%E5%B7%9E-%E5%8C%97%E4%BA%AC%3B1%2C0%2C0%3B%26cou%3D1%3Bsegt%3D%E5%8D%95%E7%A8%8B%3Btime%3D2018-01-17%3B%E5%B9%BF%E5%B7%9E-%E6%88%90%E9%83%BD%3B1%2C0%2C0%3B%26; JSESSIONID=782121159357B98CA6112554CF44321E; WT-FPC=id=211.103.142.26-608782688.30635197:lv=1516170718655:ss=1516170709449:fs=1513243317440:pn=2:vn=10; language=zh_CN; WT.al_flight=WT.al_hctype(S)%3AWT.al_adultnum(1)%3AWT.al_childnum(0)%3AWT.al_infantnum(0)%3AWT.al_orgcity1(CAN)%3AWT.al_dstcity1(CTU)%3AWT.al_orgdate1(2018-01-17)"//Creates a matcher that will match the given input against this pattern.private val matcher: Matcher = pattern.matcher(s)while (matcher.find()) {println(matcher.group())//Returns the start index of the previous match.//获取匹配内容在整个字符串的位置val start: Int = matcher.start()//Returns the offset after the last character matched.//获取匹配内容结束位置val end: Int = matcher.`end`()//Returns a string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1println(s.substring(start,end))}
}

总结

  • 构建正则对象pattern
  • 获取匹配内容 group方法

java 正则表达式案例相关推荐

  1. java正则表达式-案例代码

    转载请注明出处:http://blog.csdn.net/droyon/article/details/8635735 jdk在线api:http://docs.oracle.com/javase/7 ...

  2. java 正则表达式匹配数字_java正则表达式匹配所有数字的案例

    用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9]) ( [1-9] :匹配1~9的数字: \d :匹配数字,包括0~9: * :紧跟在 \d 之后,表明可以匹配零个 ...

  3. bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道

    字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...

  4. Java 正则表达式(深度长文)

    目录 一.正则表达式 二.正则表达式的底层实现 1.matcher.find() 2.matcher.groups() 三.正则表达式的语法 1.正则转义符 2.正则表达式支持字符 3.捕获组(cap ...

  5. java正则表达式所有字符串_java正则表达式如何获取字符串中所有匹配内容

    java正则表达式如何获取字符串中所有匹配内容以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java正则表达式如何获取 ...

  6. java正则表达式课程_通过此免费课程学习正则表达式

    java正则表达式课程 by Beau Carnes 通过博卡恩斯 通过此免费课程学习正则表达式 (Learn Regular Expressions with this free course) & ...

  7. java正则表达式 1,Java正则表达式学习(1)

    Java正则表达式学习(一) 1.什么是正则表达式: 正则表达式(regular expressions) 是一种描述字符串集的方法,它是以字符串集中各种字符串的公有特征为依据的. 正则表达式可以用于 ...

  8. 孪生素数 java代码_科学网—孪生素数猜想——利用 Java + 正则表达式 输出孪生素数对 - 马廷灿的博文...

    查了一下资料,发现正则表达式竟然可以用来检查素数(http://coolshell.cn/articles/2704.html)!(由于工作需要,几年前开始接触.利用正则表达式,给工作带了很大方便,也 ...

  9. java正则表达式的用法_Java 正则表达式的使用

    Java 正则表达式的使用 1:正则表达式语法大全 字符 说明 \ 将下一字符标记为特殊字符.文本.反向引用或八进制转义符.例如,"n"匹配字符"n".&quo ...

最新文章

  1. android Spinner 例子
  2. 线性代数:第二章 矩阵及其运算(上)
  3. Linux ALSA声卡驱动之八:ASoC架构中的Platform
  4. linux删除非空目录
  5. 2017年6月份学习总结,读书《5个高效工作习惯,让你跟「瞎忙」划清界限》
  6. 一致性hash算法原理
  7. java中的Iterator和Iterable 区别
  8. 配置管理工具---SVN
  9. nginx负载均衡核心模块(upstream和proxy模块)及常用参数介绍
  10. 电脑键盘equals在哪个位置_【电脑键盘在哪里调出来】电脑键盘在哪里找_电脑模拟键盘在哪里...
  11. android 定时器 误差,运动会计时器(PC+安卓)版本
  12. 【EndNote文献管理】批量导入删除引用
  13. 前端cookie设置httpOnly和secure拿不到,换成localstorage+加密方式
  14. hdu 1677 Nested Dolls 子串
  15. 太酷了!用200个LED做一个智能手表(开源)
  16. 去掉所有的空格、回车换行符
  17. ReactNative学习资源整合
  18. 公允价值变动及公允价值变动损益
  19. java class获取type_父类通过泛型获得子类Class类型 以及Type体系
  20. 同个局域网内的A,B两个电脑主机,A能PING通B电脑,B无法PING通A 电脑,双方均能学习到对方ARP地址

热门文章

  1. Vscode 如何使用内置浏览器?
  2. 服务器上读取文件,服务器上读取文件
  3. 华为v3鸿蒙系统_重磅!华为鸿蒙系统问世!
  4. html图片等比例拉伸,CSS控制图片等比例缩放
  5. eclipse查看jar包源码(反编译)
  6. layer 一些理解
  7. php采到的数据自动修改入库,基于PHP的简单采集数据入库程序【续篇】_php实例...
  8. oracle 混合分区表,Oracle 19C Hybrid partitioned tables混合分区表
  9. 怎么利用计算机公式计算完成比例,excel表格数据计算所占比例公式的使用教程...
  10. vbreport8.wpf.viewer 个别电脑不显示_【电脑手机小技巧】新买的电脑,第一次开机最好要这样设置...