devilkate 发表于 2024-12-16 11:07:34

请教一个Mush的单行多次匹配的问题 求神灯教大佬不吝解答

想要写一个触发抓取经脉列表里边的序号信息


例如第一行的话 希望能够通过触发器抓取1、13、25、37 四个数字
写了一个正则表达式的触发
^.*(●|◎|○)\W+\[(\d+)\] .*$
并且选取了允许一行多次触发   不知道为什么测试的时候始终一行还是只能触发一次一行只能抓到一个数字
求神灯教大佬教一下我 到底哪里出了问题

non 发表于 2024-12-16 11:20:57

因为后面的都在 .*$里了,\[(\d+)\]多写个几,比如四个就写四个先测试下

devilkate 发表于 2024-12-16 11:26:23

non 发表于 2024-12-16 11:20 AM
因为后面的都在 .*$里了,\[(\d+)\]多写个几,比如四个就写四个先测试下

了解可能是个办法就是有点复杂 那就是要写四个触发器分别对应 一行有一个穴位、二个穴位、三个穴位、四个穴位的情形喽

non 发表于 2024-12-16 11:30:51

如果想写成一条,可以写几个 |(或) 括起来,然后按数组长度取变量,具体。。。琢磨琢磨吧

shinichi 发表于 2024-12-16 11:49:13

你正则只写了一次抓取,所以只能抓一条,
你要多个就把这一行的几个都写上就行,
你一行写了抓几个就会抓几个

devilkate 发表于 2024-12-16 15:12:47

non 发表于 2024-12-16 11:30 AM
如果想写成一条,可以写几个 |(或) 括起来,然后按数组长度取变量,具体。。。琢磨琢磨吧 ...

已解决还是得用抓取整行字符串 然后去找[和 ]中间的数字用string.sub截取下来
多个触发器非常容易误触发 且后续经脉穴位的格式可能还有调整

non 发表于 2024-12-16 15:19:19

ttk_05
页: [1]
查看完整版本: 请教一个Mush的单行多次匹配的问题 求神灯教大佬不吝解答