正则表达式是什么,能做什么用?

2026-03-30 08:441阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计782个文字,预计阅读时间需要4分钟。

正则表达式是什么,能做什么用?

Java正则表达式提供了丰富的类库,大大简化了字符串处理过程。以下是一些常用的基本语法:

* `*`:匹配前面的子表达式零次或多次。* `+`:匹配前面的子表达式一次或多次。* `?`:匹配前面的子表达式零次或一次。* `^`:匹配输入字符串的开始位置。* `$`:匹配输入字符串的结束位置。* `[]`:匹配括号内的任意一个字符(字符类)。* `[^]`:匹配不在括号内的任意一个字符(否定字符类)。* `( )`:标记一个子表达式的开始和结束位置,子表达式可以获取供以后使用。* `|`:匹配两个或多个选择中的任意一个。* `/`:用于分隔正则表达式中的元字符和字面量字符串。* `\`:用于转义字符。* `\d`:匹配一个数字字符。等价于 `[0-9]`。* `\D`:匹配一个非数字字符。等价于 `[^0-9]`。* `\w`:匹配一个字母数字或下划线字符。等价于 `[a-zA-Z0-9_]`。* `\W`:匹配一个非字母数字或下划线字符。等价于 `[^a-zA-Z0-9_]`。* `{n}`:匹配确定的次数。* `{n,}`:匹配至少n次。* `{n,m}`:匹配n到m次。

需要注意的是,|符号表示或关系。

java正则表达式提供了比较丰富的类库,大大简化了这个过程。下面列出常用的基本语法:
* + ? ^ $ [] () | / \ \d \D \w \W {} {n} {n,m}等,
要注意的是“|”或符号。它可以匹配单个字符和字符串。如:t[aeio]n只匹配tan,ten,tin,ton。但不匹配toon,因为在方括号内只能匹配单个字符,要匹配toon,使用t(a|e|i|o|oo)n就可以实现toon。
正则表达式就是个熟练的过程,没有什么太过于抽象的地方。其实学软件(不喜欢“编程”两个字)乃至其他行业都一样,程序员的一项硬性指标就是代码量。代码量越多说明越熟悉(或掌握或精通)这个实现过程。经验不是学出来的,就像语言不能学习一样。那是要靠一个量的积累。熟才能生巧(古人真厉害,他们早知道这个道理),创新的前提是对某一项事物达到了非常熟练的程度。在此与朋友们共勉。
(二)String对正则表达式的支持方法:.matches(regex) 匹配括号内的正则表达式;

.split(regex)切分字符串为字符数组。当然返回值是字符数组

.replace(old String,new String)用新的字符串替代旧的字符串。需要说明的是这个替代过程原来的字符串是不变的,而是重新new一个字符串。

如:String str="abcde";
String str2=str.replace("bc", "ff");//把str中“bc"换成”ff“
System.out.println(str); //此时输出str的值跟开始初始化时的值一样
System.out.println(str2); //str2的值变成想要的到的”affde“

.replaceAll(regex,String)跟replace类似。

正则表达式是什么,能做什么用?
标签:字符串

本文共计782个文字,预计阅读时间需要4分钟。

正则表达式是什么,能做什么用?

Java正则表达式提供了丰富的类库,大大简化了字符串处理过程。以下是一些常用的基本语法:

* `*`:匹配前面的子表达式零次或多次。* `+`:匹配前面的子表达式一次或多次。* `?`:匹配前面的子表达式零次或一次。* `^`:匹配输入字符串的开始位置。* `$`:匹配输入字符串的结束位置。* `[]`:匹配括号内的任意一个字符(字符类)。* `[^]`:匹配不在括号内的任意一个字符(否定字符类)。* `( )`:标记一个子表达式的开始和结束位置,子表达式可以获取供以后使用。* `|`:匹配两个或多个选择中的任意一个。* `/`:用于分隔正则表达式中的元字符和字面量字符串。* `\`:用于转义字符。* `\d`:匹配一个数字字符。等价于 `[0-9]`。* `\D`:匹配一个非数字字符。等价于 `[^0-9]`。* `\w`:匹配一个字母数字或下划线字符。等价于 `[a-zA-Z0-9_]`。* `\W`:匹配一个非字母数字或下划线字符。等价于 `[^a-zA-Z0-9_]`。* `{n}`:匹配确定的次数。* `{n,}`:匹配至少n次。* `{n,m}`:匹配n到m次。

需要注意的是,|符号表示或关系。

java正则表达式提供了比较丰富的类库,大大简化了这个过程。下面列出常用的基本语法:
* + ? ^ $ [] () | / \ \d \D \w \W {} {n} {n,m}等,
要注意的是“|”或符号。它可以匹配单个字符和字符串。如:t[aeio]n只匹配tan,ten,tin,ton。但不匹配toon,因为在方括号内只能匹配单个字符,要匹配toon,使用t(a|e|i|o|oo)n就可以实现toon。
正则表达式就是个熟练的过程,没有什么太过于抽象的地方。其实学软件(不喜欢“编程”两个字)乃至其他行业都一样,程序员的一项硬性指标就是代码量。代码量越多说明越熟悉(或掌握或精通)这个实现过程。经验不是学出来的,就像语言不能学习一样。那是要靠一个量的积累。熟才能生巧(古人真厉害,他们早知道这个道理),创新的前提是对某一项事物达到了非常熟练的程度。在此与朋友们共勉。
(二)String对正则表达式的支持方法:.matches(regex) 匹配括号内的正则表达式;

.split(regex)切分字符串为字符数组。当然返回值是字符数组

.replace(old String,new String)用新的字符串替代旧的字符串。需要说明的是这个替代过程原来的字符串是不变的,而是重新new一个字符串。

如:String str="abcde";
String str2=str.replace("bc", "ff");//把str中“bc"换成”ff“
System.out.println(str); //此时输出str的值跟开始初始化时的值一样
System.out.println(str2); //str2的值变成想要的到的”affde“

.replaceAll(regex,String)跟replace类似。

正则表达式是什么,能做什么用?
标签:字符串