java的正则表达式你知道多少

网友投稿 265 2022-08-30


java的正则表达式你知道多少

字符x字符 x\\反斜线字符\0n带有八进制值 0 的字符 n (0 <= n <= 7)\0nn带有八进制值 0 的字符 nn (0 <= n <= 7)\0mnn带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)\xhh带有十六进制值 0x 的字符 hh\uhhhh带有十六进制值 0x 的字符 hhhh\t制表符 ('\u0009')\n新行(换行)符 ('\u000A')\r回车符 ('\u000D')\f换页符 ('\u000C')\a报警 (bell) 符 ('\u0007')\e转义符 ('\u001B')\cx对应于 x 的控制符

字符类[abc]a、b 或 c(简单类)[^abc]任何字符,除了 a、b 或 c(否定)[a-zA-Z]a 到 z 或 A 到 Z,两头的字母包括在内(范围)[a-d[m-p]]a 到 d 或 m 到 p:[a-dm-p](并集)[a-z&&[def]]d、e 或 f(交集)[a-z&&[^bc]]a 到 z,除了 b 和 c:[ad-z](减去)[a-z&&[^m-p]]a 到 z,而非 m 到 p:[a-lq-z](减去)

预定义字符类.任何字符(与行结束符可能匹配也可能不匹配)\d数字:[0-9]\D非数字: [^0-9]\s空白字符:[ \t\n\x0B\f\r]\S非空白字符:[^\s]\w单词字符:[a-zA-Z_0-9]\W非单词字符:[^\w]

Greedy 数量词X?X,一次或一次也没有X*X,零次或多次X+X,一次或多次X{n}X,恰好 n 次X{n,}X,至少 n 次X{n,m}X,至少 n 次,但是不超过 m 次

Reluctant 数量词X??X,一次或一次也没有X*?X,零次或多次X+?X,一次或多次X{n}?X,恰好 n 次X{n,}?X,至少 n 次X{n,m}?X,至少 n 次,但是不超过 m 次

例子

package com.xiaostudy;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class MyPattern {

public static void main(String[] args) {

}

private static void demo_Reluctant() {

// 检验规则,单个字母,“+”表示:0次或多次,后面多加一个“?”与不加的区别是:不加的话表示只匹配一次,加的话表示匹配多次

String regex = ".+?222";

// 要检验的对象

String str = "xx222xx222xx222xx222";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

while (matcher.find())

System.out.println(matcher.start() + "=====" + matcher.end());

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_aBAb() {

// 检验规则,字母集,“+”表示:0个或多个

String regex = "[abcd]+";

// 要检验的对象

String str = "adbcdbaDACDBDAC";

// 编译正则表达式,不区分大小写

Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_abcd() {

// 检验规则,字母集,“+”表示:0个或多个

String regex = "[abcd]+";

// 要检验的对象

String str = "adbcdabdcddbadbc";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

BHqwQdkEO if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_123no() {

// 检验规则,非数字集,“+”表示:0个或多个

String regex = "[^1-9]+";// 等价于\\D+

// 要检验的对象

String str = "+sdoi#$@%@#";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_123() {

// 检验规则,数字集,“+”表示:0个或多个

String regex = "[1-9]+";// 等价于\\d+

// 要检验的对象

String str = "123";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_2() {

// 检验规则,单个数字

String regex = "[1-9]";

// 要检验的对象

String str = "2";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_nm() {

// 检验规则,单个字母,“{n,m}”表示:出现n次到m次之间,包括他们本身

String regex = "x{3,5}";

// 要检验的对象

String str = "xxxxx";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_n0() {

// 检验规则,单个字母,“{n,}”表示:出现n次或以上

String regex = "x{3,}";

// 要检验的对象

String str = "xxxx";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_n() {

// 检验规则,单个字母,“{n}”表示:就出现n次

String regex = "x{3}";

// 要检验的对象

String str = "xxx";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private http://static void demo_xxx0() {

// 检验规则,单个字母,“+”表示:0次或多次

String regex = "x+";

// 要检验的对象

String str = "xxx";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_xxx() {

// 检验规则,单个字母,“*”表示:一次或多次

String regex = "x*";

// 要检验的对象

String str = "xxx";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_x_01() {

// 检验规则,单个字母,“?”表示:一次或一次都没有

String regex = "x?";

// 要检验的对象

String str = "x";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_00() {

// 检验规则,单个字母,“.”表示:任何字符

String regex = ".";

// 要检验的对象

String str = "x";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

private static void demo_x() {

// 检验规则,单个字母

String regex = "x";// 等价于\\w、[a-z]

// 要检验的对象

String str = "x";

// 编译正则表达式

Pattern pattern = Pattern.compile(regex);

// 创建匹配器,给定输入与此模式的匹配

Matcher matcher = pattern.matcher(str);

// 匹配,返回结果

boolean b = matcher.matches();

if (b)

System.out.println(true);

else

System.out.println(false);

}

}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python3教程: itertools 模块的用法(python3菜鸟教程)
下一篇:python 验证输入的帐号和密码(python入门教程(非常详细))
相关文章

 发表评论

暂时没有评论,来抢沙发吧~