b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

正则表达式 中文匹配 (十二)Object和String(8)

电脑杂谈  发布时间:2017-12-17 14:31:08  来源:网络整理

至少有n个组成。>=n。

    // 匹配至少由5个字符a组成的字符串
    // {n,} 至少由n个组成
    // + -> {1,}
    System.out.println(str.matches("a{5,}"));

数量在n到m之间。

    // 匹配由8-12个字符组成的字符串
    System.out.println(str.matches(".{8,12}"));

1.每个字符至多只能跟一个数量词。

2.在[]内一切数量词失效。

练习:

1.匹配小数。

输入一个字符串,判断这个字符串是否是一个小数。

package cn.tedu.regex;
import java.util.Scanner;
public class PatternExer1 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        String str = s.nextLine();
        s.close();
        // 3.21 10.53
        System.out.println(str.trim().matches("0\\.\\d+|[1-9]\\d+\\.\\d+"));
    }
}

2.匹配密码

长度8-12位,至少由字母数字空格至少有两种组成。

public class PatternExer5 {
    public static void main(String[] args) {
        String password = "";
        System.out.println(checkPwd(password));
    }
    private static boolean checkPwd(String password) {
        // 判断密码是否为空
        if (password == null) {
            return false;
        }
        // 判断密码的位数是否符合
        if (!password.matches(".{8,12}")) {
            return false;
        }
        // 记录出现的字符的种类
        int i = 0;
        // 判断是否含有字母
        if (password.matches(".*[a-zA-Z].*")) {
            i++;
        }
        // 判断是否包含数字
        if (password.matches(".*\\d.*")) {
            i++;
        }
        // 判断是否有符号
        if (password.matches(".*\\W.*")) {
            i++;
        } else if (password.matches(".*_.*")) {
            i++;
        }
        return i >= 2;
    }
}

捕获组。

    // (字符) --- 捕获组
    System.out.println(str.matches(".*(abc).*"));


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-53988-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 柳伟红
      柳伟红

      小米的任何产品都是垃圾

    热点图片
    拼命载入中...