博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 正则匹配空格字符串 正则表达式截取字符串
阅读量:6929 次
发布时间:2019-06-27

本文共 1865 字,大约阅读时间需要 6 分钟。

 

java 正则匹配空格字符串 正则表达式截取字符串

需求:从一堆sql中取出某些特定字符串:

比如配置的sql语句为:"company_code = @cc and project_id = @pid ; update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb";

我要拿出所有的以@开头的作为变量,并且去重,则如下玩:

ps:其中正则匹配空格是 “\s+”

 

public class Test {    public static void main(String[] args) {        //String input = "update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb";        String input = "company_code = @cc and project_id = @pid ; update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb";                  String patternStr = "(\\s*=\\s*)|(\\s*,\\s*)|(\\s*;\\s*)|(\\s+)";        Pattern pattern = Pattern.compile(patternStr);        String[] dataArr = pattern.split(input);        Set
set = new TreeSet
(); for (String str : dataArr) { System.out.println(str); if (str.startsWith("@")) { str = str.replaceAll("@", ""); set.add(str); } } System.out.println(set); }

[aa, bb, cc, cd, pid, ttt]输出如下:

截图如下:

 

后来又优化了一下,既然是找出以@开头的,那么再换一个正则:

public class Tst {     public static void main(String[] args) {            //String input = "update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb";            String input = "company_code = $csc223@cc and project_id = @pid ; update t set a = @aa,b=@cd,c=@cd,ttt=@ttt;update t2 set d=@bb";                          String regex = "@\\w+\\s?";            //regex = "(\\s*=\\s*)|(\\s*,\\s*)|(\\s*;\\s*)|(\\s+)";            Pattern pattern = Pattern.compile(regex);             Matcher matcher = pattern.matcher(input);             Set
set = new TreeSet
(); while(matcher.find()){ set.add(matcher.group()); } System.out.println(set); }}

2014年11月26日 16:50:31

2015年 2月10日  23:43:45

落雨

394263788

 

转载地址:http://xykjl.baihongyu.com/

你可能感兴趣的文章
排序算法(六)——希尔排序
查看>>
微信小程序:input输入框和form表单几种传值和取值方式
查看>>
Web安全测试工具小集
查看>>
spring mvc 404页面制作
查看>>
使用Swift模拟Window-LFU
查看>>
Android学习笔记(20):时钟(AnalogClock和TextClock)和计时器(Chronometer)
查看>>
我的Android进阶之旅------>Android编译错误java.util.zip.ZipException: duplicate entry的解决方法...
查看>>
Python利用jieba获取中文词汇等
查看>>
Redhat 6.2安装Oracle 11gclient及遇到的问题分析
查看>>
-webkit-transform:translate3d(0,0,0)触发GPU加速,让网页动画更流畅
查看>>
【软件project】——软工视频总结
查看>>
markdown流程图语法
查看>>
ElasticSearch无法启动
查看>>
mysql explain 的type解释
查看>>
jQuery遍历方式
查看>>
C++环境编译使用sqlite数据库全过程
查看>>
基于注解配置spring
查看>>
Java内部类的使用小结
查看>>
windows-x64下安装python3.6
查看>>
Centos expect spawn、linux expect 用法
查看>>