qq_26998329
2018-09-26 09:19
采纳率: 50%
浏览 537

perl的正则表达式该怎么写?

PERL使用正则解析字符串,
解析规则:
查找<font color='red'>的字符,后面跟着的为端口和端口描述信息,按照<font color='red'>和 </font> 之间,形如 xxxxxx(字符串)-x(数字)/x(数字)/x/x(数字)
例子,
<font color='red'> Description is To SD-QD-CJSC-B-1.MCN.9000-5E gei-0/1/1/1 1G ODF01-B21-1-B1B2 </font>

上述一行字符串(请忽略\ ,不转义,标签会被吃掉^.^),我要取出的目标字符串是 “gei-0/1/1/1”,具体内容可能会变化,但是格式都是 xxxxxx(字符串)-x(数字)/x(数字)/x/x(数字)

这个正则该怎么写?
感谢各位大佬!!!!!!!!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • xingjianfengaa 2018-09-26 10:36
    已采纳

    $str=" Description is To SD-QD-CJSC-B-1.MCN.9000-5E gei-0/1/1/1 1G ODF01-B21-1-B1B2 ";
    $str=~/.*\s(\w+-\d[\/\d+]+).*<\/font>/;
    print($1);
    只匹配了开头结尾和你需要的部分()里面是你要的,还要其他关键字的话可以自己添加

    点赞 评论
  • qq_26998329 2018-09-27 02:22

    这个编辑框会吃 <tag> 标签,加反斜杠转义就可以了,谢谢你的回答完美,解决了我的问题,非常感谢,大神有perl正则的学习书籍推荐一下吗?

    点赞 评论

相关推荐 更多相似问题