正则表达式练习题集(附答案)

Posted PHP飞鸟的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式练习题集(附答案)相关的知识,希望对你有一定的参考价值。

     前言

                好久到没有去写关于正则表达式的总结了,虽然自己写了一些关于正则表达式的东西。但是

           感觉上对正则表达式还停留在网上查找的阶段,对于大部分的人来说,很难写自己的正则表达式

           对于正则表达式笔者也做过相关的总结。呃,过了一段时间还是模糊了。因此找一些练习题来找

           回自己的记忆。

                需要说明的是这些练习题有的是网上的!

        初级练习

                   1、求非负整数 : ^\d+$

                       Tips:需要注意的是这个匹配模式为多行模式下进行的

             技术分享

                  2、匹配正整数: ^[1-9]*[1-9][0-9]*$ 在网上也有这种写法的 ^[0-9]*[1-9][0-9]*$

                      这里截图我也不贴了,前者指能匹配123012这种整数,而后者可以匹配001230。

                       取舍就看实际的需要了

                  3、非正整数:^(-\d+|(0+))$

                  4、负整数:^-[0-9]*[1-9][0-9]*$  

                  5、整数 :^-?\d+$

                  6、非负浮点数 :^\d+(\.\d+)?$

                  7、正浮点数 :^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

                  8、非正浮点数 :^((-\d+(\.\d+)?)|(0+(\.0+)?))$

                  9、负浮点数:^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

                 10、浮点数:^(-?\d+)(\.\d+)?$

                 11、有数字、26个英文字母组成的字符串:^[A-Za-z0-9]+$

          中级练习

 

                   1、长度为8-10的用户密码(以字母开头、数字、下划线)

                        ^[a-zA-Z]\w{7,10}$

                   2、验证输入只能是汉字 : ^[\u4e00-\u9fa5]{0,}$

                   3、电子邮箱验证:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

                   4、URL地址验证:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

                   5、电话号码的验证:请参考:http://blog.csdn.net/kiritor/article/details/8733469

                   6、简单的身份证号验证:\d{15}|\d{18}$

                   ..............................          

          高级练习

 

                  1、提取并捕获html标签内容:

                     <a(?: [^>]*)+href=([^ >]*)(?: [^>]*)*>

               技术分享

                    <OPTION\s.*?>

               技术分享


以上是关于正则表达式练习题集(附答案)的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式练习之贴吧实例

《跟阿铭学Linux》第11章 正则表达式:课后习题与答案

正则表达式练习之贴吧实例

Python正则表达式初识附正则表达式总结

python-正则表达式练习题一

正则表达式练习题