[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 4# wxyz0001
不是太了解PowerShell,PowerShell对逆序环视字符长度没限制吗?

TOP

我是指这部分:(?<=^.*\n.*\n),逆序环视长度(*)不固定可以吗?好像好多语言都有限制的。

TOP

有的书上叫:负向零宽断言

TOP

回复 9# wxyz0001
奥,原来如此,Powershell是内置在.NET框架上的脚本语言。所以负向零宽断言不受长度上的限制,其他框架好像不行。

TOP

回复 14# wxyz0001
顾名思义:所谓“零宽”,表示不匹配任何字符;“断言”,表示只起到判断作用。
比如上面表达式“(?<=(\n){2})(.*?)(?=(\n上一篇))”中,对应关系为:
group(1)——(\n)
group(2)——(.*?)
group(3)——(\n上一篇)
如果表达式改为“(?<=\n{2})(.*?)(?=\n上一篇)”,对应关系就只存在group(1)——(.*?)
不知我说的对否?

TOP

回复 16# wxyz0001
group(0)我不知应当叫做什么,姑且起名为全部匹配,应当整个表达式匹配的内容吧。比如说,用([a-z]+)-([0-9]+)-([A-Z]+)匹配good-147-BAD,对应关系应当是:
group(1)——good
group(2)——147
group(3)——BAD
group(0)——good-147-BAD

TOP

(?<=a)b,是匹配前面是a的b字符,得到匹配的只是b;b前面为a,是得到匹配的前提条件。

TOP

返回列表