首页 > 编程 > Java > 正文

Java正则表达式随手笔记

2019-11-08 01:43:59
字体:
来源:转载
供稿:网友

一、

import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Created by nostalie on 17-2-20. */public class PatternTest { public static void main(String[] args) { String str1 = "【活跃】王杰-西科大(940096538) 2014-10-09 19:20:08 11月的培训具体是从哪一天开始呢。"; String str2 = "【冒泡】宋晓峰-民大(1649713638 2014-10-09 19:01:57 双击查看原图"; String str3 = "【话唠】马文-陕科大<mawen280365195@QQ.com> 2014-10-09 19:07:35 linux java具体要学习些什么,好让我们底下找找资料"; List<String> lines = new ArrayList<String>(); lines.add(str1);lines.add(str2);lines.add(str3); //匹配汉字 /** *【活跃】王杰 *西科大 *月的培训具体是从哪一天开始呢。 *【冒泡】宋晓峰 *民大 *双击查看原图 *【话唠】马文 *陕科大 *具体要学习些什么,好让我们底下找找资料 */ String regEx1 = "[//u0391-//uFFE5]+"; //匹配日期 /** * result: *2014-10-09 19:20:08 *2014-10-09 19:01:57 *2014-10-09 19:07:35 */ String regEx2 = "//d{4}-//d{2}-//d{2} //d{2}://d{2}://d{2}"; /** * + 匹配前一个元素一个或多个 * × 匹配前一个元素0个或多个 * ? 匹配前一个元素0个或一个 * {n} 匹配前一个元素n个 * {n,} 匹配前一个元素 >=n 个 * {n,m} 匹配前一个元素 m>=x>=n * /s 匹配任何不可见字符,包括空格、制表符、换页符等等 * /S 匹配任何可见字符 * /d 匹配一个数字字符。等价于[0-9]。 * /D 匹配一个非数字字符。等价于[^0-9]。 * ^起始位置或非 ^[a-z] 以a-z开头 [^a-z] 非小写字母 * $ 结尾 * * result * 【活跃】王杰-西科大(940096538) *【冒泡】宋晓峰-民大(1649713638 *【话唠】马文-陕科大<mawen280365195@qq.com> */ String reg = "^【[//u0391-//uFFE5]+】[//u0391-//uFFE5]+-*[//u0391-//uFFE5]+[(<][^//s]+[)>]?"; for(String line : lines) { // 编译正则表达式 Pattern pattern = Pattern.compile(regEx1); // 忽略大小写的写法 // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(line); // 查找字符串中是否有匹配正则表达式的字符/字符串 while (matcher.find()) { System.out.PRintln(matcher.group()); } } }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表