【已解决】关于正则 - 请问这类的数据应该如何用正则0001/0001-001.jpg
本帖最后由 itestit 于 2011-8-23 12:34 编辑请问这个类型数据应该如何写正则 (我用StringRegExp,返回匹配结果数组)
0001/0001-01.doc
0001/0001-02.doc
......
0001/0001-99.doc
0002/0002-01.doc
0002/0002-02.doc
......
0002/0002-99.doc
......
用({1,4})/({1,4})-({1,4}).doc 这样的格式经测试并不能实现获取 获取到的StringRegExp返回却是
0001/0001
0001/01 (\d+)\/\1\-\d+\.doc
这个试下 本帖最后由 itestit 于 2011-8-23 12:32 编辑
(\d+)\/\1\-\d+\.doc
这个试下
kevinch 发表于 2011-8-23 11:52 http://autoitx.com/images/common/back.gif
谢谢kevinch,但用此正则返回的前三个都是
0001
0001
0001
如果用({1,4})/({1,4})\-({1,4})则返回的是
0001
0001
001
StringRegExp他把匹配的结果拆分了
正常应该是0001/0001-001.doc 把没用的括号去掉就好了
#include<Array.au3>
$str = "0001/0001-99.doc 0002/0002-01.doc 0002/0002-02.doc"
$test = StringRegExp($str,"{1,4}/{1,4}-{1,4}.doc",3)
_ArrayDisplay($test)
把没用的括号去掉就好了
www378660084 发表于 2011-8-23 12:31 http://autoitx.com/images/common/back.gif
感谢!www378660084 兄的正则实现了全部需求谢谢! #include<Array.au3>
$str = "0001/0001-99.doc 0002/0002-01.doc 0002/0002-02.doc"
$test = StringRegExp($str,"\d+\/\d+\-\d+\.doc",3)
_ArrayDisplay($test)我也无法理解为何\1会出现这样的情况,au3的正则一直用起来怪怪的。
页:
[1]