请问这个正则表达式如何匹配
本帖最后由 316428696 于 2010-1-22 23:51 编辑{"responseData": {"translatedText":"红色"}, "responseDetails": null, "responseStatus": 200}
我想得到红色这两个字,正则不晓得如何写!就是取translatedText":"红色"}中引号之间的值! 这个稍微看下正则的帮助就能写啊。。
如果就简单的取translatedText":"红色"}引号里的内容,甚至不用正则单用字符串一般处理都可以提取出来。。 StringRegExp($str, 'translatedText\":\"([^\"]+)\"', 3) 不用正则
$data = '{"responseData": {"translatedText":"红色"}, "responseDetails": null, "responseStatus": 200}
'
$a = 'translatedText":"'
$b = '"}, "responseDetails'
$start = StringInStr ($data, $a,0,$c,$s)+StringLen ($a);查找$a的结束位置
$end = StringInStr ($data,$b,0,1,$start);从$a的结束位置开始查找$b的位置
$amount = $end - $start;获得中间部分字符的数量
$txt=StringMid ($data, $start, $amount);得到中间部分的字符 楼上的原理可以用到很多很多这样的字符获取的地方,对于不会正则的网友很有用的啊。 我已经解决了,用的截取字符串的方式!还是非常谢谢各位! ; 截取结果
;$Istart = StringInStr($OutText,'":"',2) ;34 start
;$Iend = StringInStr($OutText,'"}, ',2) ;40 end
;$OutText = StringMid($OutText,$Istart + 3,$Iend-($Istart+3)) ;截取
页:
[1]