txm888 发表于 2015-6-20 02:47:18

请教有关正则单一或重复匹配的办法

请教论坛大神们:0|36|0x12345678901|36|0x12345679080|25|0x3214567890
这窜字符已测试N多遍,都没匹配到想要的结果,发上来请大神们指点下。
我想要的结果是:
0|36|0x1234567890
1|36|0x1234567908
0|25|0x3214567890

也就是格式如:\d\|\d+\|.+

注:
1、当目标字符串单一存在如:0|36|0x1234567890,也能成功匹配结果;
2、字符串中数字内容及长度会发生变化,上面仅用于举例;

谢谢~~

haijie1223 发表于 2015-6-21 22:23:16

\d\|\d+\|.{12}这样?

ollydbg 发表于 2015-6-22 22:26:51

学习正则的写法

www378660084 发表于 2015-6-23 18:33:29

既然是可变的,就多给几个例子啊,试试下面这个


#include <array.au3>

$str = "0|36|0x1234567890asdf1|36|0x12345679080|25|0x3214567890asdf"

$arr = StringRegExp($str,"\d\|\d+\|(?:.(?!\|))+",3)
_ArrayDisplay($arr)
页: [1]
查看完整版本: 请教有关正则单一或重复匹配的办法