[已解决]使用正则将需要的内容赋值给变量
本帖最后由 Ziya 于 2010-8-13 17:09 编辑var IPData = new Array("123.124.125.126","","河南省","郑州市");
字串文本如上
现在想使用正则将引号中的内容赋值给几个不同的变量
试写代码如下$str = 'var IPData = new Array("123.124.125.126","","河南省","郑州市");'
$ip = StringRegExpReplace($str,'.*\"(.*?)\"[,]\"(.*?)\"[,]\"(.*?)\"[,]\"(.*?)\".*',"\1")
$shi = StringRegExpReplace($str,'.*\"(.*?)\"[,]\"(.*?)\"[,]\"(.*?)\"[,]\"(.*?)\".*',"\3")
$sheng = StringRegExpReplace($str,'.*\"(.*?)\"[,]\"(.*?)\"[,]\"(.*?)\"[,]\"(.*?)\".*',"\4")
MsgBox(0,"","您的IP为"&$ip&@CRLF&"地址为"&$sheng&","&$shi)感觉我想到的这个方法有些笨,再优化也只能去精简一下给变量赋值的正则表达式,但还是需要进行3次操作
想问问看有没有更好的方法给这几个变量赋值 $sString = 'var IPData = new Array("123.124.125.126","","河南省","郑州市");'
$aReg = StringRegExp($sString, '".*?"', 3)
MsgBox(0, '', "您的IP为:" & $aReg & @CRLF & '地址为:' & $aReg & "," & $aReg) 原来可以这样,感谢指点 本帖最后由 afan 于 2010-8-13 17:16 编辑
Local $Str = 'var IPData = new Array("123.124.125.126","","河南省","郑州市")'
Local $sR = StringRegExp($str, '"(.*?)"', 3)
Local $ip = $sR, $shi = $sR, $sheng = $sR
Msgbox(0, 0, StringFormat('您的IP为:%s \n地址为:%s%s ', $ip, $sheng, $shi))
页:
[1]