正则表达式学习记录

搜索所需要的字符:

 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 ;

心之所向 素履以往
原文地址:https://www.cnblogs.com/RobotCode/p/13035380.html