找回密码
 加入
搜索
查看: 1982|回复: 8

[AU3基础] [已解决]正则替换的问题:其中的\0\1\2什么意思?

  [复制链接]
发表于 2011-1-11 17:05:46 | 显示全部楼层 |阅读模式
本帖最后由 newuser 于 2011-1-13 08:19 编辑


如图.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-1-11 17:36:10 | 显示全部楼层
已经捕获组的0基索引。我是这样理解的。
 楼主| 发表于 2011-1-12 07:57:22 | 显示全部楼层
回复 2# 3mile
捕获组的0基索引?能提供这方面的资料吗?我最近也看了不少正则资料,当然只是1遍,领悟的还很不够,我只看到了未命名组(exp)和自定义组(?<group>exp)的内容,但他们的组号是从1开始的啊!那对于他们的反向引用也是用 \1  \2 表示,而资料说\0是代表整个正则表达式模式所匹配的内容,不知道我的理解是否正确?
对于我的楼上的问题:
\d{3}没有被()括起来,他们有自动被分配的组号吗?
发表于 2011-1-12 10:14:43 | 显示全部楼层
反向引用的组号,有“()”则按每对“()”从1开始分配组。
如果没有一对“()”则没有组分配,默认用 \0 表示整个表达式的匹配内容,此时\1、\2之类均无意义。1#的例子就是如此,起作用的只有\0。
如果有一个及一个以上的组,\0=\1
 楼主| 发表于 2011-1-12 10:57:49 | 显示全部楼层
本帖最后由 newuser 于 2011-1-12 10:59 编辑
反向引用的组号,有“()”则按每对“()”从1开始分配组。
如果没有一对“()”则没有组分配,默认用 \0 表示 ...
afan 发表于 2011-1-12 10:14


假设有:  foo\(([^,]*),([^,]*),([^)]*)\)
则             \1         \2       \3      与上一一对应,因使用了(),所以不存在  \0   ?有点乱,此时的 \0=\1 ?该怎么理解.
发表于 2011-1-12 12:33:03 | 显示全部楼层
额 这是用在替换里的么?  $1 == \1  ?
 楼主| 发表于 2011-1-12 14:30:59 | 显示全部楼层
回复 6# sxd
就我这个问题,替换用 [\0]就可以了,只不过象上面的问题,还不理解?
发表于 2011-1-12 18:32:05 | 显示全部楼层
我这就两张图,每张图做比较:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-3-2 18:50:59 | 显示全部楼层
阿斯打扫打扫打扫的撒旦
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-2 12:37 , Processed in 0.080176 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表