正则表达式(Regular Expression,简称Regex)是处理字符串的一种富强东西,尤其在Java编程言语中,它被广泛利用于字符串查抄、调换、验证跟剖析等操纵。控制Java正则表达式,可能帮助开辟者更高效地处理复杂文本。本文将具体介绍Java正则表达式的基本知识,并经由过程实例剖析帮助你轻松应对各种文本处理场景。
.
: 平日代表恣意字符,但不包含行结束符。^
: 婚配输入字符串的肇端地位。$
: 婚配输入字符串的结束地位。s
: 婚配任何空白字符,包含空格、制表符、换页符等。S
: 婚配任何非空白字符。d
: 婚配任何数字,同等于 [0-9]
。D
: 婚配任何非数字字符。w
: 婚配任何单词字符,包含字母、数字跟下划线。W
: 婚配任何非单词字符。*
: 前面的字符可能呈现0次或无穷次。+
: 前面的字符至少呈现1次,可能无穷次。?
: 前面的字符可能呈现0次或1次。{n}
: 前面的字符刚好呈现n次。{n,}
: 前面的字符至少呈现n次。{n,m}
: 前面的字符呈现n到m次。\
对特别字符停止本义,如婚配美元标记 $
应写作 \$
。,
: 这将找到字符串中的最后一个逗号。
String input = "Hello, World, welcome to Java!";
Pattern pattern = Pattern.compile(",(?!.*,)");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("婚配到的最后一个逗号:" + matcher.group());
}
,
: 这个表达式会婚配字符串中的第一个逗号。
String input = "Hello, World, welcome to Java!";
Pattern pattern = Pattern.compile("^,.*");
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("婚配到的第一个逗号:" + matcher.group());
}
[wW]
: 这将婚配任何数量的单词字符或非单词字符。
String input = "Hello, World!";
Pattern pattern = Pattern.compile("[wW]");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("婚配到的字符:" + matcher.group());
}
s?
: 用于找到字符串中的第一个空白字符,?
表示非贪婪婚配,尽可能少地婚配。
String input = "Hello, World!";
Pattern pattern = Pattern.compile("^.*s");
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("婚配到的第一个空白字符:" + matcher.group());
}
[u4e00-u9fa5]
[x00-xff]
[w.-]+@[w.-]+\\.[a-zA-Z]{2,}
1[3-9]\\d{9}
(http|https)://[a-zA-Z0-9-.]+\\.[a-zA-Z]{2,}
经由过程以上实例跟常用正则表达式大年夜全,信赖你曾经对Java正则表达式有了开端的懂得。在现实利用中,结合具体场景机动应用正则表达式规矩,可能大年夜大年夜进步代码的简洁性跟可保护性。