正则表达式学习记录

搜索所需要的字符:

 var str = '"<?xml version=\"1.0\" encoding=\"utf-8\"?><html xmlns=\"http://www.w3.org/1999/xhtml\"> <head> <title>Groups</title> <base href=\"http://127.0.0.1:80/subscription/\"/></head> <body> <div class=\"state\"><a href=\"\" rel=\"self\"></a><a href=\"?action=show\" rel=\"action\"></a><ul><li class=\"subsgrp-li\" title=\"22121\"><a href=\"ws:///poll/21\" rel=\"events\"></a><a href=\"21?action=show\" rel=\"action\"></a></li> </ul></div></body></html>"';
    var reg1 = /(?<=(title=\"))(\d*)(?=\")/g;
    var retVal1 = str.match(reg1);

Str为一个网页地址,用match函数提取我们需要的部分;

其中用到了正则的零宽断言方法:

(?<=exp)为前置零宽断言,exp为我们匹配的内容;

(?=exp)为后置零宽断言;

(\")中的 \ 为特殊字符转义标志符,后面的 " 为转义部分;

(\d)为查找数字,后面接的 * 为多个数字;

 (\d.+?)与code中的\d*是一样效果,其中.+为贪婪模式,.+?为非贪婪模式

(/g)为多行查找;

参考地址:https://www.runoob.com/jsref/jsref-obj-regexp.html

前面代码输出为 22121 ;

 

posted @ 2020-06-03 09:21  行云777  阅读(125)  评论(0编辑  收藏  举报