正则表达式(一)认识正则表达式

从开始学java语言就接触了正则表达式,但是一直没有系统学习过,这次能顺利进入中软公司,多亏了正则表达式。因为周二机试的题目就是写一个关于邮箱验证的正则表达式。让我看到了公司对正则表达式的重视。现在有必要系统学习一下:我现在学习正则表达式主要看的书籍是:正则表达式经典实例和精通正则表达式,和正则表达式30分钟入门这三本书。如果想要电子书的朋友可以留下邮箱。

今天主要首先认识下正则表达式。

一、定义

 用正则表达式30分钟的话说:在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

用本人的一句话就是: 符合某种特定规则的代码。

由于不同的程序语言对正则表达式的调用不一样,所以形成不同的流派: 目前有六大流派, Ruby java C# Python, Javascript 和 PHP,但基本原则都是一样的,作为程序开发人员,个人认为没有必要吧关注点放在流派上,而应是在正则表示式本身的意义和作用上


 二、基本语法 

     (1) \b是正则表达式规定的一个特殊代码,代表着单词的开头或结尾,也就是单词的分界处, 如下看,在上面正则式输入框为: \bname\b 就是说把句子中name给匹配出来,下面文本框中就看到name被标记为黄色,表示匹配

      

说明一下: 以上这款软件叫regexbuddy,是专门用来测试正则表达式的。

 (2) \s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。

           \w匹配字母或数字或下划线或汉字等。


上面正则表达式意思是匹配空格+字母、数字和下划线的,但是文字的测试没用通过。故大家以后要注意。刚才在网上查了一遍,好多网友都认为\w不能匹配汉字。具体见如下论坛:

http://bbs.csdn.net/topics/230086608

如果一定要匹配汉字,利用如下规则 


(3)数量匹配

*匹配重复任意次(可能是0次),

+则匹配重复1次或更多次。

        {}中加数字 表示出现几次 

    现在看几个例子:

      \balbert\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是单词albert, 然后是任意数量的字母或数字(\w*),最后是

单词结束处(\b)。

      \blove+\b表示出现一次e或者几个e

       \b\w{6}\b 匹配刚好6个字符的单词


     

好了,各位亲们,今天就学习到这里,早晨7点还得起床上班了,晚安了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值