zoukankan      html  css  js  c++  java
  • 用正则匹配一串字符串中的ip地址

    IP地址有4段组成,每一段数字的范围为0~255,在一段文本中提取ip地址可以这样

    $src = 'src = alsdlk ks sdf2.3.3.4 234.193.1.120.1232 d.233.43.23.34 23.34.23.33 dfkl lksdflk lkjs.c lksf.c 
    			kldslfj.c lkdslkf.c lkkldsf.c';
    $src =~ m/((?<![w.])(([01]?dd?|2[0-4]d|25[0-5]).){3}([01]?dd?|2[0-4]d|25[0-5]))(?![w.])/;
    print "1: ".$1."
    ";
    print "2: ".$2."
    ";
    print "3: ".$3."
    ";
    print "4: ".$4."
    ";

    效果为:

    1: 23.34.23.33
    2: 23.
    3: 23
    4: 33

    使用语言为perl

    注:该正则表达式被分成四部分

           第一部分:是一个环视,表示在(单词的开始符号)前不能有的字符,即在前不能有点号“.”或字母

           第二部分:是三个选择分支,第一个匹配是的0~199的范围,第二个分支匹配200~249的范围,

                             第三个匹配250~255的范围,在后面有一个{3},表示连续出现3个这样的字符串

           第三部分跟第二部分一样,只是匹配没有点号“.”

           第四部分用了一个环视:表示在(单词结束符号)后不应该出现点号"."或字母

          注意:环视不会捕获字符串,即不会存储在$x中的


  • 相关阅读:
    php 类文件加载 Autoloader
    windows下配置nginx+php
    crontab 定时调度
    PHP 常见语法 集合
    php socket
    tengine + mysql + nginx + php
    yii2 [行为] behaviors 拦截器
    .htaccess 语法以及应用
    nginx 安装
    Nginx HTTP负载均衡和反向代理配置
  • 原文地址:https://www.cnblogs.com/pangblog/p/3275703.html
Copyright © 2011-2022 走看看