正则表达式学习一

以前就接触过正则表达式的概念,不过一直没有认真看,总觉得那些表达式太过复杂难懂了,今天用了一天的时间进去了学习了,终于会用了这么一点:

觉得最好的入门文章

[http://edu.yesky.com/edupxpt/18/2143018.shtml]

.         单字符匹配

?       可有可没有的单字符匹配

|        或,跟JAVA语言的 || 一样

[list]  list是一个个符,如果一个列表,a[bcde]g,结果匹配是ab,ac,ad,ae,可以是连数,[0-9]

*        0 次或多次

+       1次或多次,至少1次

?       0次或者1次

{n}     n次

{n,m}  n次到m次      

例1:匹配邮政编码,国内都是6位数字

rex1  = [0-9]{6}  或者 /d{6}         

注:/d == [0-9]

还有 /D == ^[0-9]  ^是取反的意思

/w      [a-zA-Z0-9]

/W   ^[a-zA-Z0-9]

/s    [/t/n/r/f]

/S    ^[/t/n/r/f]

( )   括句是把括句里边的表达式当成一个组,以后可以用语句查找出来

例2:匹配EMAIL,我认为EMAIL比较是有两个字符要找到的就是“@”,”。“

rex =  ([a-zA-Z]+)([/d]*)?@/w*/.([/w-])+

这里分开来看"([a-zA-Z]+)",EMAIL是从字母开始的,必须是一个字母"[a-zA-Z]"或者一个以上"+"的,”([/d]*)?“ 可能有数字也可以没有。,”@“就是@,”/w*“一点之前的字符,”/.“就是”。“,([/w-])+判断有一个字符以上就可以了。

例子可能有点复杂,建议不了解基础知识的读读入门文章和上网搜索更多的资料。

以实例来说明一切,继续给出例子,注解我有时间会修正,现在做得比较粗糙

例3:匹配HTML中的"<"和">"中的内容了出来,把里面的东西提取出来,具体JAVA应用正则表达式请看我另一篇文章,这里只给出表达式

<([^>]+)>([^<]*)<(//w+)>  以<b>youlong</b>说明

<   就是第一个字符"<"

这里再说一下,如果要把需要的字符提取出来就用括号括出来

([^>]+)  括号就是要提取出来的信息,再分解"[^>]+",这个意思就是:[^>]+匹配除了符号">"以外一个以上的字符,这里[^>]也是说匹配在"<"号以前的所有字符出来,+号就是一个或者一个以上的字符

>  就是第一个字符">"

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值