正则表达式使用总结--记录项目中遇到的自己未解决的正则

前端之家收集整理的这篇文章主要介绍了正则表达式使用总结--记录项目中遇到的自己未解决的正则前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

题记:正则表达式看起来比较麻烦,但是真正用的时候发现并没有那么难,它是一个非常强大的工具。初学可以看下著名的:30分钟学会正则表达式,另外正则表达式验证工具有web版也有pc版,推荐RegexBudd,另外qq上有正则表达式群,里面有很多大牛,可以帮你解决一些你不会的正则表达式。本篇博客主要记录平时在项目中自己用到的不会的正则表达式。

1 匹配mac地址

代码是用js写的。要求匹配的mac地址类型是xxxx.xxxx.xxxx这种类型。
注意该匹配: ^用来匹配字符串的开始,$用来匹配字符串的结束。g是全局属性
  1. var patternMac =/^\w{4}.\w{4}.\w{4}$/g;
  2. if(!patternMac.test(cm_select)){
  3. //成功匹配到
  4. return 0;
  5. }
  6. return 1;

2 要匹配的某个字段有两种不同的形式

要匹配的内容是:(想办法可以匹配到最后一列的数字,就是cnr这种形式)但是cnr的值有可能是xx也有可能是> 40这种形式,
用正则表达式:(?m)(\w{4}\.\w{4}\.\w{4}).+C3/0/0/U\d{1,2}\s+\D+\d+\s+\d+\.\d+\s+\w+\.\w+\s+(.*?)\s*$
其中{1,}表示出现一次或者多次,可以用+代替
其中*? 重复任意多次,尽量少重复;*重复零次或者更多次 $匹配字符串结束
前面的(?m):更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的精确含意是:匹配\n之前的位置以及字符串结束前的位置.)
  1. Time source is NTP,23:46:02.659 PST Tue Nov 17 2015
  2. MAC Address IP Address I/F MAC Prim ExPwr RxPwr cnr
  3. State Sid (dBmv) (dBmv) (dB)
  4. c8fb.26a8.1b40 --- C3/0/0/U4 w-online(pt) 215 3.0 3.00 34
  5. c8fb.26a8.1b40 --- C3/0/0/U5 w-online(pt) 215 3.0 3.00 34
  6. c8fb.26a8.1b40 --- C3/0/0/U6 w-online(pt) 215 3.0 3.00 34
  7. c8fb.26a8.1b40 --- C3/0/0/U7 w-online(pt) 215 3.0 2.50 32
  8. c8fb.26a8.1a02 5.152.4.124 C3/0/0/U0 w-online(pt) 1 3.0 2.50 36
  9. c8fb.26a8.1a02 5.152.4.124 C3/0/0/U1 w-online(pt) 1 3.0 3.00 36
  10. c8fb.26a8.1a02 5.152.4.124 C3/0/0/U2 w-online(pt) 1 3.0 2.00 40
  11. c8fb.26a8.1a02 5.152.4.124 C3/0/0/U3 w-online(pt) 1 3.0 2.50 33
  12. c8fb.26a8.0f42 4.222.5.222 C3/0/0/U0 w-online(pt) 645 3.0 3.00 > 40

猜你在找的正则表达式相关文章