import cn.hutool.core.util.ReUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* @author keepgoon
* @Description: TODO
* @date 2019/10/111:25
public class RE2Test {
private static Logger log = LoggerFactory.getLogger(RE2Test.class);
private static final String test1 = "a12adf31d2tt";
public static void main(String[] args) {
String expression1 = "\\d";
String expression2 = "[0-9]";
String expression3 = "\\D";
String expression4 = "[^0-9]";
log.debug("\n===============匹配公式1 =======================");
find(expression1,test1);
log.debug("\n===============匹配公式2 =======================");
find(expression2,test1);
log.debug("\n===============匹配公式3 =======================");
find(expression3,test1);
log.debug("\n===============匹配公式4 =======================");
find(expression4,test1);
private static String length(String printStr){
return StringUtils.rightPad(printStr,10," ") + " : {}";
private static void find(String pattern,String matchedStr){
log.debug(" 正则表达式 【 {} 】; 被匹配的字符串 【 {} 】" ,pattern,matchedStr);
log.debug(length("findAll"), ReUtil.findAll(pattern,matchedStr,0));
log.debug(length("count"), ReUtil.count(pattern,matchedStr));
log.debug(length("contains"), ReUtil.contains(pattern,matchedStr));
//log.debug(length("contains"), ReUtil.get);
编程语言
|
java
|
正则匹配
|
开源工具集 hutool
|
打印
|
logback
|
字符串格式化
|
lang3
|
数字匹配符 \D\D可以配置非数字,等价于上一节中的 [^0-9] 。测试实例被匹配字符串private static final String test1 = "a12adf31d2tt";匹配公式3匹配公式 String expression3 = "\\D";匹配结果匹配公式4匹配公式 String expression4 = "[^...
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<input onkeyu
正则表达式
:^(?!\d+$)[\u4e00-\u9fa5\w]+$
这个
正则表达式
限制了输入不能全是
数字
,只能包含中文、
数字
和字母。
其中 ^ 表示开头,$ 表示结尾,[]表示
匹配
其中一个,\u4e00-\u9fa5表示中文,\w表示字母和
数字
,+表示一个或多个。
请注意,(?!\d+$)是一个负向先行断言,表示后面的内容不能全是
数字
。
将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”
匹配
\n。“\n”
匹配
换行符。序列“\\”
匹配
“\”而“\(”则
匹配
“(”。即相当于多种编程语言中都有的“转义字符”的概念。
正则表达式
正则表达式
是一套标准,他可以用于任何语言. Java 标准库的 java.util.regex 包内置了
正则表达式
引擎,在 Java 程序中使用
正则表达式
非
常简单.
例如: 判断用户输入的年份是否为 20xx 年
对应的
正则表达式
则是: 20\d\d , \d 表示任意一个
数字
而在 Java 中, \\ 才表示一个 \,所以对应的
正则
是 20\\d\\d
public static void main(String[] args) {
String regex = "2
str=str.replace(/(\D*)$/,’’)
console.log(str) // “我爱我家12456”
//替换字符串里面所有的
非
数字
字符并替换为空字符串
var str=“我爱我
文章目录Java
正则表达式
匹配
单个字符
匹配
多个字符
匹配
0次或者一次
匹配
数字
或者
非
数字
匹配
任何字符类字符0-9 a-z A-Z或者
匹配
中文字符
匹配
空白字符
本文主要介绍java
正则表达式
的基本用法,常用的
匹配
。
Java
正则表达式
正则表达式
定义了字符串的模式。
正则表达式
可以用来搜索、编辑或处理文本。
正则表达式
并不仅限于某一种语言,但是在每种语言中有细微的差别。
下面为案列及代码。
matches方法中,() 中双引号中的内容为
正则表达式
匹配
单个字符
String str1 = "a";
print(a.group())
b = re.match('\d\d\d','23es12testasdtest')
print(b) #要求
匹配
三个
数字
,
匹配
不到返回none
c = re.match('\d','es12testasdtest')
print(c) #.
Java
正则表达式
(Regular Expression)是 Java 语言中用于模式
匹配
的一种工具。它可以用来验证文本是否符合特定的格式,也可以用来从文本中提取出符合特定格式的信息。
Java 使用 java.util.regex 包中的 Pattern 和 Matcher 类来支持
正则表达式
的
匹配
。通过调用 Pattern 类的静态方法 compile,可以将
正则表达式
编译为 Pattern 对象;通过调用 Pattern 对象的 matcher 方法,可以将文本与该 Pattern 对象进行
匹配
,并得到一个 Matcher 对象。可以通过调用 Matcher 对象的各种方法来验证文本是否与
正则表达式
匹配
,并从文本中提取出符合要求的信息。
以下是一个简单的例子:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String pattern = "\\w+";
String input = "Hello, world!";
Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
在这个例子中,我们定义了一个
正则表达式
`\w+`,表示一个或多个单词字符(即字母、
数字
和下划线)。然后,我们使用这个
正则表达式
匹配
字符串 `Hello, world!`,并输出
匹配
到的结果。