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 classTest {public static voidmain(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 classTst {public static voidmain(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

java 正则 空格_java 正则匹配空格字符串 正则表达式截取字符串相关推荐

  1. Swift3.0语言教程分割字符串与截取字符串

    Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...

  2. oracle正则表达式截断,在oracle中使用正则表达式截取字符串

    在oracle中使用正则表达式截取字符串 Sql代码 --以下两条语句,将summary按-分解为两段字符串 regexp_substr(summary, '[^-]+', 1, 1) as _wor ...

  3. java 正则 空格_Java中关于空格的正则表达式

    public class Test { public static void main(String[] args) { String s = "GET             /index ...

  4. java正则手机号_Java正则替换手机号代码实例

    在日常生活中,我们经常会遇到将一个手机号的4-7位字符串用正则表达式替换为为星号"*".这是出于对安全性和保护客户隐私的考虑将程序设计成这样的.下面我们就来看看具体代码. pack ...

  5. java武功秘籍_Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  6. java速成慕课_Java正则速成秘籍之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression) 是一种文本规则,可以用来 校验 . 查找 . 替换 与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文 ...

  7. java 手机号替换_Java正则替换手机号代码实例

    在日常生活中,我们经常会遇到将一个手机号的4-7位字符串用正则表达式替换为为星号"*".这是出于对安全性和保护客户隐私的考虑将程序设计成这样的.下面我们就来看看具体代码. pack ...

  8. java验证公钥私钥是否匹配及公钥私钥与字符串相互转换

    本文记录使用java生成公钥私钥,将公钥私钥转换成字符串,验证公钥私钥是否匹配. 验证公钥私钥是否匹配的思想:使用公钥对字符串进行加密,再使用私钥进行解密,若解密生成的字符串与原字符串一致,则说明公钥 ...

  9. java求子串_Java substring()方法:求子字符串(截取字符串)

    String 类中的 substring() 方法实现对字符串从指定的索引位置开始截取,直到此字符串的末尾,并返回一个新的字符串. 语法1 substring(int beginIndex) 参数说明 ...

最新文章

  1. linux gcc 静态编译,GCC 程序编译的静态链接和动态链接
  2. easyScholar——文献数据库插件
  3. 【论文解读】目标检测一卷到底之后,终于有人为它挖了个新坑|CVPR2021 Oral
  4. 最大化窗口设置_打开表格总是默认窗口最小化?适用Word、PPT等其他应用
  5. [译] Bounds Check Elimination 边界检查消除
  6. php开发神器 -- phpStudy
  7. 使用Spring Boot发送邮件
  8. HCIE Security SSL 备考笔记(幕布)
  9. F5 root密码恢复
  10. 缓存中间件技术选型Memcached、MongoDB、Redis
  11. 文章原创度检测神器:copyscape及duplichecker
  12. EXCEL函数LookUp, VLOOKUP,HLOOKUP应用详解(含中文参数解释)
  13. windows7系统之家旗舰版下载
  14. STM32涉及到的汇编基础知识
  15. 追剪电子凸轮算法(图)
  16. Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋
  17. 解决mini_httpd_v1.30在使用http post请求出现 socket hang up的问题
  18. (附源码)Django 主机硬件配置推荐系统 毕业设计 231155
  19. 已知四点经纬度位置计算球面面积
  20. 20+ Prompt工具网站汇总;我用AI工具开了一家「无人公司」;如何10分钟上线一个AI导航网站;第一部AIGC中英双语图文辞典 | ShowMeAI日报

热门文章

  1. 海思麒麟950:是旗舰,但不是旗舰Extreme~
  2. Android App全屏不隐藏华为虚拟键
  3. iPhone解锁的四种方法
  4. 20 行代码极速为 App 加上聊天功能
  5. 图片尺寸像素点,图片的大小,分辨率,a4纸,dpi,ppi,pt,pixel像素,屏幕尺寸
  6. 单键三档调光调色灯方案
  7. 跳槽求职简历表-Word简历可编辑下载
  8. 自定义注解实现AOP
  9. 如何用直线画出好看的花瓶
  10. “号码盾牌”,治企业飞单保行业信誉