找回密码  加入

AUTOIT CN

搜索
查看: 365|回复: 9

[AU3基础] 请教一个正则表达式的问题

[复制链接]
发表于 2018-1-12 13:14:06 | 显示全部楼层 |阅读模式
想从文本里面提取 有规律 的连号,即:
x0123xx
x1234xx
x2345xx
x3456xx
x4567xx
x5678xx
x6789xx

4个数字中,后面的比前一个多1,最后那位最大是 9(这也就限制了最前面的那位数字最大是6了)
如果使用多个正则表达式来获取,再把结果合并到一起,也可以满足,但是感觉太笨了。能否一个表达式就搞掂呢?
发表于 2018-1-12 13:50:03 | 显示全部楼层
这样不行吗
0123|1234|2345|3456|4567|5678|6789
 楼主| 发表于 2018-1-12 14:08:48 | 显示全部楼层
回复 2# zghwelcome


    谢谢

x 是任意数字,也要一起取出,应该怎样写
 楼主| 发表于 2018-1-12 14:34:02 | 显示全部楼层
本帖最后由 hnfeng 于 2018-1-12 14:37 编辑

回复 2# zghwelcome


    搞掂了,谢谢


\d0123\d{2}|\d1234\d{2}|\d2345\d{2}|\d3456\d{2}|\d4567\d{2}|\d5678\d{2}|\d6789\d{2}
发表于 2018-1-12 14:35:29 | 显示全部楼层
(\d(0123|1234|2345|3456|4567|5678|6789)\d{2})
 楼主| 发表于 2018-1-12 14:42:24 | 显示全部楼层
回复 5# zghwelcome

(\d(0123|1234|2345|3456|4567|5678|6789)\d{2})

    这样好像不行,有取到7位数字的,有取到4位数字的
  1. [0]8123412
  2. [1]1234
  3. [2]8567866
  4. [3]5678
  5. [4]1012356
  6. [5]0123
  7. [6]2123477
  8. [7]1234
  9. [8]4234564
  10. [9]2345
复制代码
发表于 2018-1-12 14:48:43 | 显示全部楼层
回复 6# hnfeng


    用模式4,取数组的0或1列
 楼主| 发表于 2018-1-12 14:53:59 | 显示全部楼层
本帖最后由 hnfeng 于 2018-1-12 14:57 编辑

回复 7# zghwelcome


    明白了,还能这样用 谢谢

平时只是用模式3,不懂得其他模式是啥意思
发表于 2018-1-12 18:55:23 | 显示全部楼层
回复 8# hnfeng
(\d(?:0123|1234|2345|3456|4567|5678|6789)\d{2})
用这个取消第二个分组就行了,可以继续用3
 楼主| 发表于 2018-1-12 20:54:39 | 显示全部楼层
回复 9# kevinch


谢谢

能用模式3最好用模式3,方便。

不过也稍稍研究了一下模式4,原来每个元素均为一个单独的数组
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2018-8-15 23:45 , Processed in 0.091546 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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