java编写正则表达式的代码_Java开发知识之Java的正则表达式

正则表达式

一丶什么是正则表达式

1.正则表达式简介

正则表达式就是针对字符串处理,所处的一种规范.比如我们都有在论坛上注册信息的时候.

论坛让我们输入我们的QQ 或者手机号才能注册.但是你随便输入.这就造成了论坛后台数据库保存了各种杂乱无章的数据.所以必须规范一下.比如你手机号输入错误了.提示你输入错误.

2.无正则表达式判断代码

传统的形式:

Java Code为例

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

String str = "1842a535234"; //随便给一个手机号,表示我们论坛注册时填写的手机号.

//手机号都是11位,判断手机号.

boolean result = false;

if(str == null && str.length() < 11)

System.out.println("手机号是错误的");

//继续判断是否手机号中有随便输入的值

for(int i =0; i < str.length();i++) {

char ch = str.charAt(i);

result = Character.isDigit(ch);//判断是否是数字

if(result == false) {

System.out.println("错误的电话号码");

break;

}

}

}

输出结果必然是错误的电话号码

但是我们这样写只是简单的判断了一下.实际应用中判断的更多.那该怎么办.

这时候就提出了一种规则.只要你按照规则.去判断你输入的值.是否是正确还是错误.

3.使用正则表达式代码.

代码如下:

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

String str = "18421535234"; //随便给一个手机号,表示我们论坛注册时填写的手机号.

boolean b = str.matches("[0-9]{11}");// 说明了这个字符串是否是0-9之间组成的数字,并且有11位.

System.out.println("电话号码是: " + b);

}

调用String类中的matches()方法.传入正则表达式的规则.他就会给你判断.

输出结果就是true.一行代码,解决了我们所有的烦恼.

内部实现

public boolean matches(String regex) {

return Pattern.matches(regex, this);

}

可以看到,调用了Pattern类的matches方法.

继续跟踪

public static boolean matches(String regex, CharSequence input) {

Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(input);

return m.matches();

}

可以看到操作正则表达式一个是 pattern 一个是 Matcher

所以下面重点讲解

二丶正则表达式API

1.正则表达式是一种规则.是针对字符串的. 其它语言一样都有.

2.正则表达式实在 java.util.regex包中

3.包中有上面两个实现类 Pattern(模式) Matcher(匹配器)

4.匹配语法错误会有异常 PatternSyntaxException

java中就使用 Pattern 跟 Matcher判断正则表达式的.也就是上面跟踪的代码.

1.使用Api进行正则表达式匹配.

代码例子

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

boolean isPhoneNumber = checkPhoneNumber("[0-9]{11}","18555555555");

System.out.println("电话号号码是: " + isPhoneNumber);

}

static boolean checkPhoneNumber(String rex,String Value) {

Pattern p = Pattern.compile(rex);

Matcher m = p.matcher(Value);

return m.matches();

}

直接使用上面我们底层API即可.

Pattern中最重要的方法就是compile(),我们必须传入正则表达式才可以.

而下面的匹配器则是API有很多.比如查找.等等.

三丶正则表达式语法格式

1.正则表达式语法

正则表达式最重要的就是正则表达式语法了.

不一一

cda1e28094127d9d22a9d90474bf8f54.png

编写了.给出截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值