java正则表达式 s报错_Java基础--正则表达式的规则
注意:正则表达式只关注格式是否正确,不关注内容是否有效。
1、[abc] :指a,b,c中的任意一个字符。
2、[^abc]:指除了a,b,c外的任意字符。
3、[a-z]:表示a到z间的任意一个字符。
4、[a-zA-Z0-9]:表示a到z,A到Z,0到9的任意一个字符。
5、[a-z&&[^bc]]:等价于[ad-z],指a到z间除了b,c字符的任意字符。
二、预定义字符集* ( . )表示任意一个字符。
1、\d : 数字字符集,相当于[0-9],
2、\w:单词字符集,相当于[a-zA-Z0-9_]。
3、\s:空白字符集,相当于[\t\n\f\r\xoB]。
4、\D:非\d
5、\W:非\w
6、\S:非\s
三、数量词
1、?表示0个或一个。
2、* 表示0个或无穷个。
3、+ 表示1个或无穷个。
4、{n}表示n个。
5、{n, }表示n个到无穷个。
6、{n, m }表示n个到m个(m>n)。
7、() 表示一个整体。比如:(\+86)就是表示+86,此时+需要转义。
8、^在[]中表示非,而放在[]外,表示以……开头。比如^[0-9]就是以数字0-9开头。
9、$表示以……结尾,比如[0-9]$就是指以数字0-9结尾。
四、java的String中正则表达式写法(转义的问题)
1、11位手机号正则表达式: "^[0-9]{11}$" ;
2、邮箱正则表达式:"^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9])+$" ;此时若使用String regex = " [a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9])+ "; 由于java字符串认为 ( . ) 不需要进行转义,所以写成 ( \. )会报错,需要对 \ 进行转义, 即写成 ( \\. )
3、简单的日期表达式:"^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$" ; \1表示匹配第一个小括号的内容,即(\-|\/|\.)
1 public class Test {
2 public static void main(String[] args) {
3 String regexDemo1 = "^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$";
4 String str = "2019.05.22";
5 System.out.println(str.matches(regexDemo1)); // 返回true
6
7 // regexDemo1等价于regexDemo2。 其 \1 指的即为第一个小括号(), 即 \1 指的是 (\-|\/|\.)
8 String regexDemo2 = "^\\d{4}(\\-|\\/|\\.)\\d{1,2}(\\-|\\/|\\.)\\d{1,2}$";
9 System.out.println(str.matches(regexDemo2)); // 返回true
10 }
11 }
五、字符串的替换与分解(使用正则表达式)
1、public boolean matches(String regex);判断当前字符串对象是否与参数regex格式相匹配。
2、public String replaceAll(String regex, String replacement);将字符串中符合regex格式的子串替换成replacement,此时并未改变原始字符串。
3、public String[] split(String regex); 将字符串使用regex标记分割,并将分割后的单词存入字符串数组中。
1 public class Test {
2 public static void main(String[] args) {
3 String regex = "[0-9]+";
4 String str = "hello123world123";
5 System.out.println("原始字符串为: " + str);//输出hello123world123
6
7 System.out.println("替换字符串后为: " +str.replaceAll(regex, " welcome ")); //输出hello welcome world welcome
8 System.out.println("原字符串不变:" + str); //不会改变原来的字符串,输出为hello123world123
9
10 System.out.println("输出切割后的字符串: ");
11 String digitWord[] = str.split(regex); // 以regex格式分割
12 for (String s : digitWord) {
13 System.out.println(s);
14 }
15 }
16 }
17 /*
18 测试结果为:
19 原始字符串为: hello123world123
20 替换字符串后为: hello welcome world welcome
21 原字符串不变:hello123world123
22 输出切割后的字符串:
23 hello
24 world
25 */
java正则表达式 s报错_Java基础--正则表达式的规则相关推荐
- java增强型for报错_Java基础——增强for循环
java1.5版本引入了一个增强for循环,基本原理和for循环类似. 语法声明:for(表达式:条件表达式) 举例:for (String str : set) 解释:set代表set集合,str代 ...
- java package报错_Java基础知识总结 - 超详细篇(上)
1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre. 2,JRE:Java Runtime Environment,java程序的运行环境,ja ...
- java启动监听器报错_JAVA通过JDBC连接Oracle数据库详解【转载】
1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2. ...
- java map put报错_java 集合(Map)
-------------------|Map 储存的数据都是以键值对的形式,键不可重复,值可重复. ----------------------------| HashMap ---------- ...
- java里面add报错_java.util.Arrays$ArrayList addAll报错
执行下面代码时报错: List centerList =WebConstants.SUPPORT_BIG_CENTERS_LIST; // WebConstants.SUPPORT_BIG_CENTE ...
- java常见的报错_Java中常见的错误有哪些?
原标题:Java中常见的错误有哪些? 1.java.lang.Error 错误.是所有错误的基类,用于标识严重的程序运行问题.这些问题通常描述一些不应被应用程序捕获的反常情况. 原因: 1.对系统所访 ...
- java.util.list 报错_Java 报错 .updateValue' has an unsupported return type: interface java.util.List...
问题描述 org.apache.ibatis.binding.BindingException: Mapper method****updateValue' has an unsupported re ...
- java编码转换报错_Java中BeanUtils的日期转换 代码报错 怎么解决
Person类:publicclassPerson{privateDatebirthday;publicDategetBirthday(){returnbirthday;}publicvoidsetB ...
- java输入scanner 报错_java Scanner报错
在构造函数里写了一次Scanner到主函数里又需要输入新的数想在用Scanner就报错错误在最后一行publicclassBank{privatestaticdoubledead=0.0265;pri ...
最新文章
- java中静态方法可以被继承_关于java:静态方法中的继承
- 较传统AGV优势几何?AMR机器人产业格局将变
- linux中-i选项的作用,linux – find中的-prune选项有什么作用?
- python代码200行左右_200行Python代码实现2048
- rollup函数_Vue3同款打包工具Rollup常用配置
- Linux 命令(15)—— umask 命令(builtin)
- Atitit 高级人员的指标 参照发达国家(Developed Country)指标 目录 1. 普遍特征是较高的发展指数、人均生产总值、工程化水准和品质 [1] 。科学技术水准等指标	1 2.
- Windows Server 2008 R2远程桌面服务配置和授权激活
- win10无法装载iso文件_win10系统打开iso格式文件的四种方法
- 火车票能不能选座_终于,买火车票也能选座了!
- NEFU 262 贪吃的九头龙(树形背包,4级)
- android系统蓝牙音箱功能吗,Android蓝牙开发系列文章-其实你的手机可以变成一个蓝牙音箱...
- 使用python爬取猎聘网的职位信息
- java date类型大小比较_java中date类型如何比较大小
- 前端学习01 HTML入门
- 进化算法EA——多对象优化遗传(MOO),差分进化法(DE),遗传编程(GP)
- (c++)五分制成绩(函数实现)
- Java架构师成长之路
- append()与prepend()的区别
- 【学习总结】Apsara Clouder云计算技能认证:网站建设:部署与发布
热门文章
- 永洪Desktop安装——windows版
- mysql数据库连接jar_mysql数据库连接包
- python循环五角星做法_python实现while循环打印星星的四种形状
- 步进电机编写单4拍或4-8拍方式的汇编或c语言控制程序.,(毕业设计)基于单片机的步进电机控制系统(汇编及C语言程序各个)...
- 拦截器 java_在Java后端如何添加拦截器
- 12c集群日志位置_Oracle 19C RAC 集群日志位置变化
- HTML制作搞笑照片,40张创意搞笑的照片PS效果
- python读文件的三个方法read()、readline()、readlines()详解
- python调用其他文件的类和函数
- 计算机弹奏两只老虎爱跳舞,原神风物之诗琴乐谱大全