正则表达式学习记录
搜索所需要的字符:
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 ;
心之所向 素履以往