java 自定义正则表达式_java中正则表达式实例详解
Java中正则表达式运用实例(参看java中正则表达式运用详解):
测试代码
package test;
/**
* 在String的matches()方法,split()方法中使用正则表达式.
* @author fhd001
*/
public class RegexTest {
public static void main(String[] args) {
/*
* 普通字符
*/
String str1 = "abc45abc345";
String[]arr1 = str1.split("abc");
for (String string : arr1) {
System.out.print(string+"-->");
}
System.out.println();
/*
* 简单的转义字符
* 在java中转义字符时一定要用双反斜线,两个斜线转义成一个斜线,
* 在用这个斜线字符转义那些特殊字符.
*/
String str2 = "^$()[]{}.?+*|";
boolean flag = str2.matches("//^//$//(//)//[//]//{//}//.//?//+//*//|");
System.out.println(flag);
/*
* 转义字符 /Q.../E.
*/
String str3 = "^$()[]{}.?+*|99999";
boolean flag2 = str3.matches("//Q^$()[]{}.?+*|//E//d{5}");
System.out.println(flag2);
/*
* 字符集合
*/
String str4 = "dfddri334";
boolean flag4 = str4.matches(".+");
System.out.println(flag4);
String str5 = "#$%^*())%";
boolean flag5 = str5.matches("//W{9}");
System.out.println(flag5);
String str6 = "4gffmdkekrhhr";
boolean flag6 = str6.matches("//w+");
System.out.println(flag6);
String str7 = "fjfdke eett ";
boolean flag7 = str7.matches("//w+//s+//w{4}//s?");
System.out.println(flag7);
String str8 = " erefff ";
boolean flag8 = str8.matches("//s+//S+//s+");
System.out.println(flag8);
String str9 = "456776888";
boolean flag9 = str9.matches("//d+");
System.out.println(flag9);
String str10 = "rtydfgrgwvr ";
boolean flag10 = str10.matches("//D+");
System.out.println(flag10);
/*
* 自定义字符集合 [ ]
*/
String str11 = "fdfeetg 34566";
boolean flag11 = str11.matches("[fdetg]+//s+[3-6]+");
System.out.println(flag11);
String str12 = "rtyuie 5768";
boolean flag12 = str12.matches("[^abcdf]+//s+[^1234]+");
System.out.println(flag12);
/*
* 匹配次数限定符
*/
//贪婪模式
String str13 = "ytreggcv454444444333";
boolean flag13 = str13.matches("//w{20}");
System.out.println(flag13);
boolean flag14 = str13.matches("//w{10,21}");
System.out.println(flag14);
boolean flag15 = str13.matches("//w{18,}");
System.out.println(flag15);
String str14 = "4";
boolean flag16 = str14.matches("//d?");
System.out.println(flag16);
String str15 = "ddcvgt";
boolean flag17 = str15.matches("//D+//d?");
System.out.println(flag17);
String str16 = "e33tf44t44t";
boolean flag18 = str16.matches("//w+//W*");
System.out.println(flag18);
//勉强模式(只举一例)
String str17 = "34567ghjkkld";
boolean flag19 = str17.matches("//d{2,7}?//w{8,11}");
System.out.println(flag19);
//占有模式(只举一例)
String str18 = "22222ddddd";
boolean flag20 = str18.matches("//d{2,5}+//w{6}");
System.out.println(flag20);
/*
* 字符边界
*/
String str19 = "a444545rot44tm";
boolean flag21 = str19.matches("^a//w+m$");
System.out.println(flag21);
/*
* 选择表达式 xxx | xxx
*/
String str20 = "abc123abc";
boolean flag22 = str20.matches("(abc|123){3}");
System.out.println(flag22);
/*
* 分组 ( ).
* 以上修饰符都是针对一个字符进行修饰.如果要对一组字符进行
* 修饰就要用到()
*/
String str21 = "123qwe123qwe";
boolean flag23 = str21.matches("(123qwe){2}");
System.out.println(flag23);
/*
* []中的交集与并集
*/
String str22 = "abcdefgh1234567";
boolean flag24 = str22.matches("[a-z1-9]+"); //并集
System.out.println(flag24);
boolean flag25 = str22.matches("[a-z1-9&&[a-h1-7]]+"); //交集
System.out.println(flag25);
}
}
结果代码
-->45-->345-->
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
true
false
true
true
true
true
true
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
java 自定义正则表达式_java中正则表达式实例详解相关推荐
- java jtable组件_java中jtable组件详解实例
java中jtable组件详解实例 java 表格控件 JTable 常用操作详解 JTable 是 Swing 编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处.一 ...
- java异常例子_java 异常的实例详解
java 异常的实例详解 1.异常的定义:程序在运行时出现不正常情况. 异常的划分: Error:严重的问题,对于error一般不编写针对性的代码对其进行处理. Exception:非严重的问题,对于 ...
- java abstract 变量_Java中abstract关键字详解
abstract只能修饰类(class) 和 方法.而不能修饰成员变量.这是由于抽象的概念确定的.只有类和方法可以抽象出来,而成员变量不需要抽象. abstract修饰类 abstract之所以出现, ...
- java generic new_java中generic实例详解
一介绍: 在JavaSE1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的"任意化","任意化"带来的缺点是要做显式的强制类型转换,而这种 ...
- java写exe程序实例,java实现可安装的exe程序实例详解
java实现可安装的exe程序实例详解 通过编写java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写java代码,将编写好的java项目导出一个.jar格 ...
- android自定义view案例,Android自定义View的实现方法实例详解
一.自绘控件 下面我们准备来自定义一个计数器View,这个View可以响应用户的点击事件,并自动记录一共点击了多少次.新建一个CounterView继承自View,代码如下所示: 可以看到,首先我们在 ...
- Java 初始化 代码块_Java中初始化块详解及实例代码
Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量, ...
- java的static类_java中staticclass静态类详解
一般情况下是不可以用static修饰类的.如果一定要用static修饰类的话,通常static修饰的是匿名内部类. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的(利用static ...
- java字符编码详解_Java中字符编码格式详解
一.前言 在分析Comparable和Comparator的时候,分析到了String类的compareTo方法,String底层是用char[]数组来存放元素,在比较的时候是比较的两个字符串的字符, ...
- mysql 超长 java 问题_MySql超长自动截断实例详解
MySql超长自动截断实例详解 小伙伴问到一个问题,为啥在项目中调用插入或者更新语句时超长的字无法自动截断,而在navicat中直接执行是可以自动截断的? 如下 CREATE TABLE `p_app ...
最新文章
- 产品策略研究期的数据分析与挖掘
- @Transactional事务的使用和注意事项及其属性
- CSS3属性之text-overflow:ellipsis,指定多行文本中任意一行显示...
- LeetCode Algorithm 118. 杨辉三角
- 超级日志服务器-Splunk
- 深度探索linux系统虚拟化 原理与实现,深度探索Linux系统虚拟化:原理与实现
- linux 启动rsyslog服务_linux rsyslog服务部署
- == vs === in Javascript
- python中如何标识语句块_如何用python在一个块中编写多个try语句?
- Python爬虫基础(三)urllib2库的高级使用
- 源码编译搭建LAMP环境
- delphi 多个checkbox只能勾选一个_CAD加选无效?不可连续选择多个对象?按下这个键就正常了...
- 问题:html中的select的options的用法?
- PHP工具篇:PHPStorm IDE使用CodeSniffer代码规范化管理
- mysql 接收中文字符,MYSQL匹配中文字符
- 计算机网络提供信息传输服务,计算机网络通常被划分为通信子网和资源子网,通信子网提供信息传输服务,资源子网提供共享资源。...
- 实习僧[shixiseng.com]爬虫实战笔记
- 小米扫地机器人粉尘盒_小米扫地机器人尘盒怎么打开
- 互联网周刊:不痛不痒的信息安全
- /*CDATA*/介绍