正则表达式30分钟入门系列之5

2025-10-27 08:53:28

1、[^]:这个关键字匹配  圈定一个范围,只要不是这个范围内的字符都可以哦

^:这个关键字匹配  以哪个字符串开头

$:这个关键字匹配  以哪个字符串结束

先来看看测试的脚手架代码:

Code:

package chapter4;import java.util.Arrays;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexStudyDemo {    public static void main(String[] args) {        String regexStr = "Hello[^\\d]!";        List<String> input = Arrays.asList("Hello7!", "Hello汉!", "Hello !", "Hello !",                "Hello\b!", "Hello\t!", "Hello\"!"                , "Hello\r!", "Hello\f!", "Hello\n!",                "Hello_!", "Hello-!");        System.out.println(isMatch(input, regexStr));    }    private static boolean isMatch(List<String> inputs, String regexStr) {        boolean result = true;        for (String input : inputs) {            Pattern pattern = Pattern.compile(regexStr);            Matcher matcher = pattern.matcher(input);            if (matcher.matches()) {                continue;            }            System.out.println(String.format("%s is not match  %s!", regexStr, input));            result = false;        }        return result;    }}

正则表达式30分钟入门系列之5

2、简单分析一下上面的正则表达式,

“[^\\d]”就是\D哦

所以,除"Hello7!"不匹配外,其它的字符串都匹配

执行下看看结果

Output:

Hello[^\d]! is not match  Hello7!!

false

与预期一致

Ok

正则表达式30分钟入门系列之5

3、修改一下正则表达式

匹配一下的字符串"Hello7!" 匹配刚才

Code:

String regexStr = "Hello[^\\D]!";

List<String> input = Arrays.asList("Hello7!");

正则表达式30分钟入门系列之5

4、执行下看看结果

Output:

true

与预期一致

OK

正则表达式30分钟入门系列之5

5、现在来看看^的用法

更改下代码

Code:

String regexStr = "^[\\d]Hello!";

List<String> input = Arrays.asList("7Hello!","xHello!");

正则表达式30分钟入门系列之5

6、解析一下代码:

"^[\\d]Hello!":表示必须以数字打头,后面是“Hello!”的字符串

因此不能匹配"xHello!"

执行下看看结果

^[\d]Hello! is not match  xHello!!

false

与预期一致

OK

正则表达式30分钟入门系列之5

7、最后来看看$的用法

更改下代码

Code:

String regexStr = "Hello![\\d]$";

List<String> input = Arrays.asList("Hello!7","Hello!x");

正则表达式30分钟入门系列之5

8、解析一下代码:

"^[\\d]Hello!":表示必须数字结尾,前面是“Hello!”的字符串

因此不能匹配"Hello!x"

执行下看看结果

Hello![\d]$ is not match  Hello!x!

false

与预期一致

OK

正则表达式30分钟入门系列之5

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢