1.需求:通过正则表达式去匹配特定字符开头,数字结尾的字符串

  • 我这里去匹配字符"+,-,@,="开头,数字结尾的字符串

2.代码

public class Test_Leo
{
    public static void main(String[] args)
    {
        String data = "=calc|A!Z   666";
        Pattern pattern = Pattern.compile("^[+-@=](.*?)\\d$");
        Matcher matcher = pattern.matcher(data);
        if(matcher.find())
        {
            System.out.println(matcher.group());
        }else{
            System.out.println("nothing");
        }
    }
    
}

3.结果

java 前缀匹配 java匹配固定字符开头_特定字符开头

4.解释:

  • ^:定义了以什么开始
  • [+-@=]:匹配+-@= 任意字符
  • (.*?):匹配任意零个或者多个字符
  • \d:匹配单个数字
  • \\d$:匹配数字结尾