java 正则 空格_java 正则匹配空格字符串 正则表达式截取字符串
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 正则匹配空格字符串 正则表达式截取字符串相关推荐
- Swift3.0语言教程分割字符串与截取字符串
Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...
- oracle正则表达式截断,在oracle中使用正则表达式截取字符串
在oracle中使用正则表达式截取字符串 Sql代码 --以下两条语句,将summary按-分解为两段字符串 regexp_substr(summary, '[^-]+', 1, 1) as _wor ...
- java 正则 空格_Java中关于空格的正则表达式
public class Test { public static void main(String[] args) { String s = "GET /index ...
- java正则手机号_Java正则替换手机号代码实例
在日常生活中,我们经常会遇到将一个手机号的4-7位字符串用正则表达式替换为为星号"*".这是出于对安全性和保护客户隐私的考虑将程序设计成这样的.下面我们就来看看具体代码. pack ...
- java武功秘籍_Java正则速成秘籍(一)之招式篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- java速成慕课_Java正则速成秘籍之招式篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression) 是一种文本规则,可以用来 校验 . 查找 . 替换 与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文 ...
- java 手机号替换_Java正则替换手机号代码实例
在日常生活中,我们经常会遇到将一个手机号的4-7位字符串用正则表达式替换为为星号"*".这是出于对安全性和保护客户隐私的考虑将程序设计成这样的.下面我们就来看看具体代码. pack ...
- java验证公钥私钥是否匹配及公钥私钥与字符串相互转换
本文记录使用java生成公钥私钥,将公钥私钥转换成字符串,验证公钥私钥是否匹配. 验证公钥私钥是否匹配的思想:使用公钥对字符串进行加密,再使用私钥进行解密,若解密生成的字符串与原字符串一致,则说明公钥 ...
- java求子串_Java substring()方法:求子字符串(截取字符串)
String 类中的 substring() 方法实现对字符串从指定的索引位置开始截取,直到此字符串的末尾,并返回一个新的字符串. 语法1 substring(int beginIndex) 参数说明 ...
最新文章
- linux gcc 静态编译,GCC 程序编译的静态链接和动态链接
- easyScholar——文献数据库插件
- 【论文解读】目标检测一卷到底之后,终于有人为它挖了个新坑|CVPR2021 Oral
- 最大化窗口设置_打开表格总是默认窗口最小化?适用Word、PPT等其他应用
- [译] Bounds Check Elimination 边界检查消除
- php开发神器 -- phpStudy
- 使用Spring Boot发送邮件
- HCIE Security SSL 备考笔记(幕布)
- F5 root密码恢复
- 缓存中间件技术选型Memcached、MongoDB、Redis
- 文章原创度检测神器:copyscape及duplichecker
- EXCEL函数LookUp, VLOOKUP,HLOOKUP应用详解(含中文参数解释)
- windows7系统之家旗舰版下载
- STM32涉及到的汇编基础知识
- 追剪电子凸轮算法(图)
- Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋
- 解决mini_httpd_v1.30在使用http post请求出现 socket hang up的问题
- (附源码)Django 主机硬件配置推荐系统 毕业设计 231155
- 已知四点经纬度位置计算球面面积
- 20+ Prompt工具网站汇总;我用AI工具开了一家「无人公司」;如何10分钟上线一个AI导航网站;第一部AIGC中英双语图文辞典 | ShowMeAI日报