20250122-正则表达式

发布于:2025-02-10 ⋅ 阅读:(44) ⋅ 点赞:(0)

1. 正则标记

表示一位字符:\\

表示指定的一位字符:x

表示任意的一位字符:.

表示任意一位数字:\d

表示任意一位非数字:\D

表示任意一个字母:[a-zA-Z](大写或小写)

表示任意一个非字母:[^a-zA-Z]

表示abc中的任意一位:[abc]

表示一位字母、数字、_:\w,等价于“[a-zA-Z0-9]”

表示一位非字母、数组、_:\W,等价于“[^a-zA-Z0-9]”

表示一位空格:\s

表示一位非空格:\S

表示多位

正则?:表示此正则可出现0次或1次;

正则+:表示此正则可出现1次或多次;

正则*:表示此正则可出现0、1和多次;

正则{n}:表示此正则正好出现n次;

正则{n,}:表示此正则出现n次以上;

正则{n,m}:表示此正则出现n-m次。

逻辑操作

正则1正则2:正则2紧跟在正则2后面操作;

正则1|正则2:或的关系,满足其一即可。

(正则):表示按照一组来使用。

2. String类有关正则的操作方法

3. 实例

3.1 验证字符串组成

public class TestDemo
{
    public static void main(String[] args) 
    {
        String str="123abCB&*";
        String regex="\\d+";
        if(str.matches(regex))
        {
            System.out.println("该字符串由数字组成");
        }
        else
        {
            System.out.println("该字符串非由数字组成");
        }
    }
}

3.2 字符串内容替换

相连的若干字母则整体替换为指定字符。

public class TestDemo
{
    public static void main(String[] args) 
    {
        String str="a1AB23abCB&*";
        String regex="[a-zA-z]+";
        String result=str.replaceAll(regex,"L");
        System.out.println(result);
    }
}
/*输出结果
L1L23L&*
*/

3.3 邮箱验证

public class TestDemo
{
    public static void main(String[] args) 
    {
        String str="haoxuexi@163.com";
        String str1="haoxuexi@163com";

        String regex="[a-zA-z0-9]+@[a-zA-z0-9]+.[a-zA-z0-9]+";

        boolean result=str.matches(regex);
        boolean result1=str1.matches(regex);

        System.out.println(result);
        System.out.println(result1);
    }
}
/*输出结果
true
true
*/


网站公告

今日签到

点亮在社区的每一天
去签到