找回密码
 加入
搜索
查看: 5674|回复: 21

[效率算法] 【已解决】一个正则难题

 火.. [复制链接]
发表于 2018-3-11 18:30:05 | 显示全部楼层 |阅读模式
本帖最后由 cihron 于 2018-3-12 12:43 编辑

515253
525354
535455
545556
555657
565758
575859

该如何匹配这样一组 nAnBnC 模式的数字呢?
发表于 2018-3-11 19:17:34 | 显示全部楼层
(\d0\d1\d2|\d1\d2\d3|\d2\d3\d4|\d3\d4\d5|\d4\d5\d6|\d5\d6\d7|\d6\d7\d8|\d7\d8\d9)
 楼主| 发表于 2018-3-11 19:21:38 | 显示全部楼层
回复 2# afan


    a版,nAnBnC 中的 n 要求必须是相同的数字呢。
 楼主| 发表于 2018-3-11 19:24:28 | 显示全部楼层
回复 2# afan


    ((\d)1\2[2]\2[3])|((\d)2\4[3]\4[4])|((\d)3\6[4]\6[5])|((\d)4\8[5]\8[6])|((\d)5\10[6]\10[7])|((\d)6\12[7]\12[8])|((\d)7\14[8]\14[9])

  我是这么搞的,但分组捕获时遇到问题了,只能是 \1 - \9 再往后没招了  
发表于 2018-3-11 20:11:57 | 显示全部楼层
回复 4# cihron


    不懂你的意思,实例也没说要匹配出什么结果
 楼主| 发表于 2018-3-11 20:21:15 | 显示全部楼层
回复 5# afan


    哦,可能是没表达清楚。

 是这样,要匹配一组数字是否符合 nAnBnC 规则,奇数位相同,偶数位递增。
 比如 : 515253,343536,171819,252627
发表于 2018-3-11 20:35:36 | 显示全部楼层
回复  afan


    哦,可能是没表达清楚。

 是这样,要匹配一组数字是否符合 nAnBnC 规则,奇数位 ...
cihron 发表于 2018-3-11 20:21



    你的表达式捕获这个也没问题吧  什么鬼\1-\9就没招了
 楼主| 发表于 2018-3-11 20:43:02 | 显示全部楼层
回复 7# afan


    只能到 \9 ,再往后该如何引用???
发表于 2018-3-11 20:54:41 | 显示全部楼层
回复  afan


    只能到 \9 ,再往后该如何引用???
cihron 发表于 2018-3-11 20:43



    \10 不行?
 楼主| 发表于 2018-3-11 20:56:25 | 显示全部楼层
回复 9# afan


    这正是问题所在,试了好多次都不行。
发表于 2018-3-11 20:57:04 | 显示全部楼层
回复 10# cihron


    举例说明下,代码
 楼主| 发表于 2018-3-11 21:14:02 | 显示全部楼层
本帖最后由 cihron 于 2018-3-11 21:20 编辑

回复 11# afan

一直都是使用 sublime 进行正则测试,无法匹配到 \10 以后,在 js 等环境中也是 $1 ~ $9。

刚才在 au3.rehelper 工具中测试,竟然可以匹配 \10 \11 等,

看来这个问题是环境正则环境差异造成的问题。

上图,供参考:







本帖子中包含更多资源

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

×
发表于 2018-3-11 21:34:48 | 显示全部楼层
回复 12# cihron


    你居然用其它环境测试… 就算都是Au3环境,也有版本差异造成的不同,这也是Au3.REHelper 1.5版添加版本选择功能的原因之一

另外
((\d)1\2[2]\2[3]|(\d)2\3[3]\3[4]|(\d)3\4[4]\4[5]|(\d)4\5[5]\5[6]|(\d)5\6[6]\6[7]|(\d)6\7[7]\7[8]|(\d)7\8[8]\8[9])
 楼主| 发表于 2018-3-11 21:40:47 | 显示全部楼层
回复 13# afan


    主要是 sublime 这个比较直观,比对了几次又没什么差别,

    所以经常这样搞,这次意外了,是个教训。
发表于 2018-3-11 21:52:26 | 显示全部楼层
可以少用些括号,这样是不是也可以
((\d)1\2[2]\2[3]|(\d)2\3[3]\3[4]|(\d)3\4[4]\4[5]|(\d)4\5[5]\5[6]|(\d)5\6[6]\6[7]|(\d)6\7[7]\7[8]|(\d)7\8[8]\8[9])
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 04:25 , Processed in 0.106067 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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