这正则表达式反向预搜索(上)是做什么用的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计611个文字,预计阅读时间需要3分钟。
在以往的应用中,主要是应用正向预搜索情感。也就是说,在查找内容时,右侧有特定的内容限定,例如:复制代码+代码示例:var str3='CPU: Intel Core2 5200; Memory: 2G; OS: Ubuntu 9.04';
复制代码 代码如下:
var str3 = 'CPU: Intel Core2 5200; Memory: 2G;OS: Ubuntu 9.04';
var reg3 = /Memory\:\s+(.*(?=\;OS\:))/gim;
str3.match(reg3);
alert(RegExp.$1); //结果是2G
(.*(?=\;OS\:) 就是典型的正向预搜索,只有右面内容是“;OS: ”才会被匹配到。
但是现在要实现的效果,左面的内容是固定,而不是右面。可是JavaScript并不支持反向预搜索。我相信,细心的朋友已经发现了,其实上面的例子已经达到了这个目的(前面的Memory\:\s+ 限定了左面的内容)。
本文共计611个文字,预计阅读时间需要3分钟。
在以往的应用中,主要是应用正向预搜索情感。也就是说,在查找内容时,右侧有特定的内容限定,例如:复制代码+代码示例:var str3='CPU: Intel Core2 5200; Memory: 2G; OS: Ubuntu 9.04';
复制代码 代码如下:
var str3 = 'CPU: Intel Core2 5200; Memory: 2G;OS: Ubuntu 9.04';
var reg3 = /Memory\:\s+(.*(?=\;OS\:))/gim;
str3.match(reg3);
alert(RegExp.$1); //结果是2G
(.*(?=\;OS\:) 就是典型的正向预搜索,只有右面内容是“;OS: ”才会被匹配到。
但是现在要实现的效果,左面的内容是固定,而不是右面。可是JavaScript并不支持反向预搜索。我相信,细心的朋友已经发现了,其实上面的例子已经达到了这个目的(前面的Memory\:\s+ 限定了左面的内容)。

