正则可以指定匹配某串字符串指定的次数嘛?
#include <Array.au3>Local $sSource = '43,137,f0e9e9|59,154,f0f1f2|25,175,6C7079|34,137,6B7079|76,79,6A6F78|45,145,6B7079|75,107,6A6F79|66,132,6B7079|47,153,6B707A|48,198,6B7179|33,175,6C7079|43,137,f0e9e9|59,154,f0f1f2|25,175,6C7079|34,137,6B7079|76,79,6A6F78|45,145,6B7079|75,107,6A6F79|66,132,6B7079|47,153,6B707A|48,198,6B7179|33,175,6C7079'
;~MsgBox(0, '源字符串', $sSource)
Local $aSRE = StringRegExp($sSource, '([^\|]+)', 3)
MsgBox(0, '', _ArrayToString($aSRE, "|", 0, 3))
向这样,只要前3段
([^\|]+)\|?{3}
这样子写好像不行! 上一贴你只要将 括号后面加上 ?: 即可,谁知我写好了,你却删了贴 (?:[^\|]+\|){3} afan 发表于 2019-8-15 20:32
上一贴你只要将 括号后面加上 ?: 即可,谁知我写好了,你却删了贴
{:1_203:}我怕我提问的方法不对,重新写了个帖子!我错了 afan 发表于 2019-8-15 20:33
那能不能用StringRegExpReplace 来直接输出结果?
最近afan很活跃啊 本帖最后由 heavenm 于 2019-8-15 21:12 编辑
StringRegExpReplace($sSource, '((?:[^\|]+\|){3}).*', '\1')
噢!这样子就OK了,太厉害了,基本上afan正则小超人43,137,f0e9e9|59,154,f0f1f2|25,175,6C7079|
不过输出的结果后面多了个|能去掉么
heavenm 发表于 2019-8-15 21:09
StringRegExpReplace($sSource, '((?:[^\|]+\|){3}).*', '\1')
噢!这样子就OK了,太厉害了,基本上afan正则 ...
这样很可以~你才是超人,我虽然我也飞,但是是鸟人 {:face (306):} ((?:[^\|]+\|??){2}).*
完美,感谢afan,成功搞定! afan 发表于 2019-8-15 21:13
这样很可以~你才是超人,我虽然我也飞,但是是鸟人
别闹,我是个屌丝,你也有弄手机项目.
需要手机不
做项目的话,用一些屏幕不怎么正常,但是功能正常的手机特别省钱
象便宜的小米 note2才80块钱,做手机很划算哈哈,就是麻烦点 heavenm 发表于 2019-8-15 21:21
别闹,我是个屌丝,你也有弄手机项目.
需要手机不
做项目的话,用一些屏幕不怎么正常,但是功能正常的手机 ...
好说,要手机一定找你帮忙~~ 各位老师的正则功底很厚实 不错支持一下
页:
[1]