heavenm 发表于 2018-5-11 02:40:56

感觉正则就跟脑筋急转弯差不多,有个转不过的弯!正则引号的问题

本帖最后由 heavenm 于 2018-5-11 02:59 编辑

a1,a2
"a1,a2"
'a1,a2'
'a1,a2'
"a1,a2"
这样子的格式,有可能带引号,有可能不带引号!
替换成这样子的格式"a1","a2"### 友情提示:本脚本由 Au3.REHelper 于 2018/05/11 02:40 自动生成,不保证其正确性,请自行测试 ###
Local $sSource = '"192.168.1.1,8080"'
;~MsgBox(0, '源字符串', $sSource)
Local $sSRERe = StringRegExpReplace($sSource, '([\d\.]+),(\d+)', '"\1","\2"')
MsgBox(0, '替换结果', $sSRERe)
输出结果多了引号,有什么好方法能解决么

heavenm 发表于 2018-5-11 03:03:34

本帖最后由 heavenm 于 2018-5-11 03:04 编辑

### 友情提示:本脚本由 Au3.REHelper 于 2018/05/11 03:03 自动生成,不保证其正确性,请自行测试 ###
Local $sSource = '"a1,a2"'
;~MsgBox(0, '源字符串', $sSource)
Local $sSRERe = StringRegExpReplace($sSource, '.*?([^' & "'" & '",]+),([^' & "'" & '",]+).*', '"\1","\2"')
MsgBox(0, '替换结果', $sSRERe)
这样子好像可以!= =#感觉自问自答了

那再问问高级的
如果是
a1,a2,a3,a4,a5.....这样子的咋办

haijie1223 发表于 2018-5-11 10:14:16

正则替换,表达式[\s"']*?(\w+)替换"$1"
手机没法测试,你自己试试吧

afan 发表于 2018-5-11 10:49:20

Local $sSource = _
                'a1,a2' & @CRLF & _
                '"a1,a2"' & @CRLF & _
                "'a3,a4'" & @CRLF & _
                "'a1,a2'" & @CRLF & _
                '"a1,a2"' & @CRLF & _
                '"192.168.1.1,8080"' & @CRLF & _
                'a1,a2,a3,a4,a5'
;~MsgBox(0, '源字符串', $sSource)
Local $sSRERe = StringRegExpReplace($sSource, '(?m)[' & "'" & '"]*([^,\v' & "'" & '"]+)[' & "'" & '"]*', '"\1"')
MsgBox(0, '替换结果', $sSRERe)

(?m)['"]*([^,\v'"]+)['"]*

haijie1223 发表于 2018-5-11 13:50:09

回复 4# afan


    sixsixsix

afan 发表于 2018-5-11 18:11:17

回复afan


    sixsixsix
haijie1223 发表于 2018-5-11 13:50 http://www.autoit3.cn/images/common/back.gif


    哪有你six手机都能上码:face (24):

zldfsz 发表于 2018-5-12 13:34:27

回复 5# haijie1223


    汗,我居然去摆渡了

haijie1223 发表于 2018-5-12 21:24:01

回复 7# zldfsz


{:face (303):}

heavenm 发表于 2018-5-28 03:05:23


afan 发表于 2018-5-11 10:49 http://www.autoit3.cn/images/common/back.gif


    6666
= =#果然好用,学到了,两边也要处理

破帽遮颜 发表于 2018-5-30 20:27:57

看见正则就头晕眼花
页: [1]
查看完整版本: 感觉正则就跟脑筋急转弯差不多,有个转不过的弯!正则引号的问题