天天看点

String 类对正则的支持|学习笔记

开发者学堂课程【Java 高级编程:String 类对正则的支持】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:

https://developer.aliyun.com/learning/course/20/detail/335

String 类对正则的支持

在进行正则表达式大部分处理的情况下都会基于 String 类来完成,并且在 String 类里面提供有如下与正则有关的操作方法:

No. 方法名称 类型 描述
01

public boolean matches(String regex).

普通 将指定字符串进行正则判断。
02

public String replaceAll(String regex, String

replacement)

替换全部
03

public String replaceFirst(String regex, String replacement):

替换首个
04

public String[] split(String regex)

正则拆分
05

public String[] split(String regex, int limit)

下面通过一些具体的范例来对正则的使用进行说明。

范例:实现字符串替换(删除掉非字母与数字)

实现字符串的拆分

在正则处理的时候对于拆分与替换的操作相对容易一些, 但是比较麻烦的是数据验证部分。 

范例:判断一个数据是否为小数,如果是小数则将其变为 double 类 型

package cn.mldn. demo;

public class JavaAPIDemo

public static void main(String[] args) throws Exception {

String str = "100.1" ; 11

要判断的数据

Stringregex = "

\\

d+(

\\.\\d+

)?" ; 11

正则表达式

System. out . println(str.matches(regex));

范例:现在判断一个字符串是否由日期所组成,如果是由日期所组成则将其转为 Date 类型。

需要注意的是,正则表达式无法对里面的内容进行判断,只能够对格式进行判断处理。

范例:判断给定的电话号码是否正确?

.电话号码: 51283346;

电话号码: 01051283346

电话号码: (010)-51283346。

package cn.mldn. demo;

public class JavaAPIDemo

public static void main(String[] args) throws Exception

String str = "51283346" ;//

要判断的数据

String regex =

“\\d{7,8}”

; 11

正则表达式

System. out . println(str .matches(regex));

既然已经可以使用正则进行验证了,那么下面就可以利用其来实现一个 email 地址格式的验证。

范例:验证 email 格式

email 的用户名可以由字母、数字、所组成; (不应该使用-开头)

email 的域名可以由字母、数字、_、-所组成;

域名的后缀必须是:.cn、.com、 .net、 .com.cn、 .gov;