regexp匹配顺序。。。[无解]
本帖最后由 蜘蛛抱蛋 于 2011-5-1 22:37 编辑随便一个超过两个捕获组的表达式,能不能用纯正则决定输出的数组子项排列顺序?
比如
用(?:\d+\.)?([^-]+)\s*\-\s*(.*?)\.\w+$匹配01.aaa-bbbb.ccc
02.ddd-ffff.ggg
03.ddd-ffff.ggg
...结果中索引0可不可以是bbbb? 注意是纯正则,不借助变量
用正则本来就偷懒了,可我想更懒一些{:face (396):} 结果的顺序应该是固定按括号的顺序来排列的吧.
你要偷懒的话,在使用的时候先用$Array.再用$Array不也一样吗? 正则只管结构不管顺序吧 回复 3# netegg
基于结构的,数组是按出现顺序排列的,根本没有索引,纯正则在模糊匹配的时候是不能排序的,如果非要排序就要知道具体文件来写特定的正则,只是这样的话还不如借助其他命令排序来的快 回复 4# love5173
我觉得好像也是 回复 5# netegg
我也这么觉得 嘿嘿 不大理解楼主的意思,请解释 本帖最后由 netegg 于 2011-5-2 04:21 编辑
回复 7# 3mile
用正则匹配的结果比如是bbbbb,aaaaa,ccccc可不可以输出成aaaaa,bbbbb,ccccc
对了,不用其他操作,只用正则匹配出最后的结果 vbs正则可以用submatches来提取某个组的匹配结果,在au3里也可以创建该项目并调用这个功能。
页:
[1]