关于正则表达式的个人理解以及对 Java语言程序设计与数据结构 基础篇附录正则表达式内容的纠错

一、关于为何要出现并使用正则表达式。

        因为在与用户之间交互过程中需要进行一些验证来判断用户的输入是否符合一定的规定,例如邮箱的便存在着某种固定的编写规律,以及在程序编写中一些变量的命名是否符合要求。而这些就可以利用正则表达式去判断。

        在常用的正则表达式中我认为主要可以分为三类:

        1、第一种可以称作量词符

         

        2、第二种称作预定类

     

 3、第三种称作边界符。

 上述三种正则表达式是最为常用的几种,以上几种也可以结合使用从而实现一定的规则,达到自己判断的目的,从而减少一些利用判断或者循环等语句来实现判断的规则。

二、关于正则表达式的应用。

比如某电话号码的模式为(xxx)xxx-xxx,便可以用正则表达式描述为

\\([1-9][\\d]{2}\\)[\\d]{3}-[\\d]{4}

注意:其中的"("和")"需要用"\\("和"\\)"来表示,都需要用到转义字符,正则表达式中的转义字符与程序编写中的转义字符相一致。

注意:在正则表达式中要注意不要打上不必要的(多余的)空格,因为会影响正则表达式的判断。

 三、正则表达式在程序中与String类中的一些方法的使用。

String类中提供了matches、repalceAll、repalceFirst、split等方法。这些方法给字符串替换以及拆分字符串提供了很大的方便。下图为在java.lang.String中关于上述方法的定义

 

 其中要注意的是关于split方法,它具有两个重载方法。在split(regex,limit)方法中,limit参数是用来确定模式要匹配多少次。如果limit<=0,那么split(regex,limit)等同于split(regex)。如果limit>0,那么模式最多匹配limit-1次,下述为Java语言程序设计与数据结构 基础篇书上关于这一方法的案例。

 

 注意:在默认情况下,所有的量词符都是"贪婪"的,意思是他们会找匹配最多的字符,但是在加上"?"后,就会匹配尽可能少的次数。

 四、对Java语言程序设计与数据结构 基础篇附录正则表达式内容的纠错。

其中的错误存在三点:

1、

 实际上在使用p{n,m}时是包含n和m的

2、

 划红线部分应该修改为[A-Za-z0-9_]以及\W等同于[^A-Za-z0-9]。

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值