IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java中的正则表达式---Regex -> 正文阅读

[Java知识库]java中的正则表达式---Regex

正则表达式:用来作为模式或者规则进行匹配的
Pattern—一个用于正则表达式的类—正则表达式用于指定规则

[abc] 表示a/b/c中的任何一个
[^abc] 表示除了a/b/c
\d 表示数字
\D 表示非数字
\w 表示单词字符: [a-zA-Z_0-9]
\W 表示非单词字符
\s 表示空白字符
\S 表示非空白字符
^a 表示以a作为开头
a$ 表示以a作为结尾
. 表示任意字符
*表示出现零次或者多次
+表示至少出现一次
? 表示至多出现一次
{n} 表示恰好出现n次
{n,} 表示至少出现n次
{n,m} 表示至少出现n次,但是不超过m次

public class PetternDemo {
	public static void main(String[] args) {
		String s = "";
		/*判断这个字符串是否是“abc”*/
		System.out.println(s.matches("abc"));
		/*
		 * 匹配字符串abc/abd/abe,使其为其中的一个
		 */
		System.out.println(s.matches("ab[cde]"));  //中括号中的任何一个都可以
		/*
		 * 匹配字符串:ab*,后面的无所谓
		 */
		System.out.println(s.matches("ab[a-zA-Z]")); //也就是a到z,A到Z都可以
		/*
		 * 匹配任何数字
		 */
		System.out.println(s.matches("[0-9]"));
		System.out.println(s.matches("\\d")); \d表示数字[0-9],用的时候需要转义
		如果字符串是单个数字,写\\d即可,如果字符串有多个数字写\\d+
/*
		 * 匹配*de形式的字符串,但是*不能是a/b/c
		 */ 
		//^放在中括号里面,表示排除,不能是中括号的内容
		System.out.println(s.matches("[^abc]de")); 
		/*
		 * 字符串必须以a作为开头,后面可以跟着任何字母的字符串
		 */
		//^在中括号外面是以什么为开头
		System.out.println(s.matches("^a[a-zA-z]"));			
		/*
		 *必须以e作为结尾
		 */
		//$限定结尾
		System.out.println(s.matches("[a-zA-z]e$"));
		/*
		 * 匹配以a开头,以d结尾的有3个字符组成的字符串
		 */
		//.表示任意字符
		System.out.println(s.matches("^a.d$"));
		/*
		 * 匹配".txt"
		 */
		//由于.表示任意一个字符,所以此处需要转义。第一个\是java中的转义,第二个\是正则中的转义
		//匹配中括号的时候,用的是\\[
		System.out.println(s.matches("\\.txt"));
	}
}
public class PetternDemo2 {
	public static void main(String[] args) {
		String s = "";
		/*
		 * 匹配以a开头的由6个字符组成的字符串
		 */
		//a{n}---表示a恰好出现n次
		System.out.println(s.matches("^a.{5}")); //.需要出现5次
		/*
		 * 匹配以a开头的字符串
		 */
		//*-----表示后面的字符可有可无,出现不限次数
		System.out.println(s.matches("^a.*"));
		/*
		 * 匹配以a开头的至少由两个字符组成的字符串
		 */
		//+----表示之前的字符至少出现一次
		System.out.println(s.matches("^a.+"));
		/*
		 * 匹配以a开头的最多由2个字符组成的字符串
		 */
		//?---表示最多出现一次
		System.out.println(s.matches("^a.?"));
		/*
		 * 匹配至少由6个字符组成的字符串
		 */
		System.out.println(s.matches(".{6,}"));
		/*
		 * 匹配由8到12个字符组成的字符串
		 */
		System.out.println(s.matches(".{8,12}"));
	}
}
public class PetternDemo4 {
	public static void main(String[] args) {
		String s = "Tom 18 Sam 15 Amy 19";
		/*
		 * 交换位置,捕获组也会自动编号,引用用$
		 */
		System.out.println(s.replaceAll("(Tom.*)(Sam.*)(Amy.*)", "$2 $3 $1"));
	}
}
import java.util.Arrays;
public class PetternDemo5 {
	public static void main(String[] args) {
		String s = "fns3ueg55hu7e";
		String[] ss = s.split("h");
		//作为切割条件的字符会被舍弃
		//如果切割符的后面有字符,则会切割,如果切割符的后面没有字符了,那么就直接舍弃该切割符,不会再切割
		System.out.println(Arrays.toString(ss));
	}
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:16:56  更:2022-02-26 11:21:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:52:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码