常见问题的正则表达式解决方案

1.匹配北美电话号码
  要匹配的文本:
   J.Doe: 248-555-1234
   B.smith: (313) 555.1234
   A.Lee: (810)555.1234
   M.Jones: 248.555.1234
  正则表达式:[\(.]?[2-9]\d\d[\).]?[ -]?[2-9]\d\d[-.]\d{4}
• 中国固定电话号码
要匹配的文本:
029 8845 7890
029 88457890
(029) 8845 7890
(029) 88457890
029-8845 7890
029-88457890
029-8845-7890

正则表达式:\(?0[1-9]\d{1,3}\)?[ -]?[2-9]\d{2,3}[ -]?\d{4}
2.美国邮政编码
    要匹配的文本:
    999 1st Avenue ,Bigtown,NY, 11122
    123 High Street,Any City,MI, 48034.1234
    正则表达式:\d{5}(.\d{4})?
• 中国的邮政编码:/d(9|[0-7])\d{4}
3.IP地址
    要匹配的文本:
    localhost is 127.0.0.1
    正则表达式:
    (((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])
4.URL地址
    要匹配的文本:
    http://www.forta.com/blog
    https://www.forta.com:80/blog/index.cfm
    http://www.forta.com
    http://ben:password@www.forta.com/
    http://localhost/index.php?ab=1&c=2
    http://localhost:8500/
正则表达式:
https?://[-\w.]+(:\d+)?(/(\w/_.|*)?)?
• 完整的URL地址
要匹配的文本:
    http://www.forta.com/blog
   https://www.forta.com:80/blog/index.cfm
   http://www.forta.com
   http://ben:password@www.forta.com/
   http://localhost/index.php?ab=1&c=2
   http://localhost:8500/
正则表达式:
https?://(\w*:\w*@)?[-\w.]+(:\d+)?(/([\w/_.|]*(\?\s)?)?)?
注:(\w*:\w*@)?  匹配嵌在URL字符串里的用户名和口令
   [-\w.]+  匹配主机名
   (:\d+)?  匹配一个可选的端口号
5.电子邮件地址
     要匹配的文本:
     my name is ben forta,and my email address is ben@forta.com
     正则表达式: (\w+\.)*\w+@(\w+\.)+[A-Za-z]+


     (\w+\.)*\w+   匹配用户名部分,即@之前的所有文本
     (\w+\.)+   匹配以.结束的字符的一次或多次的重复出现
[A-Za-z]+  匹配顶级域名(com 、edu 、us 或uk等)
6.HTML注释
     要匹配的文本:
      <!--start of page-->
     <HTML> 
        <!--start of head-->
        <HEAD>
                   <TITLE>Title</TITLE> <!--page title-->
        </HEAD>
<!--start of body-->
<BODY>
</BODY>
</HTML>
正则表达式:<!-{2, }.*?-{2, }>
<!-{2, }  匹配HTML注释的开头部分
.*?       匹配HTML注释的开头部分
{2, }>    匹配HTML注释的开头部分
7.javascrpt里的注释
     正则表达式: //.*
     
   










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值