求一个字符的正则表达[已解决]
本帖最后由 haijie1223 于 2011-3-28 07:34 编辑是这样的 我的一个程序里有这么一个变量
$a=“(001):asdfasdjlkjxczx”
字符型的a的随机值中都会有(xxx):这一段
所以我想用正则表达式把冒号左边的字符都获取下来赋值给新的变量$b 貌似stringsplit就可以。
要正则的话,试下这个".*?(?=\:)" ^[^\:]+ 楼上两位的正则返回值都一样 无论变量怎么变化 都只出现1 回复 4# haijie1223
2位的正则没问题,你的用法有问题.
我想你是这样写的吧?
$a = "(001):asdfasdjlkjxczx"
$b = StringRegExp($a, '.*?(?=\:)', 3)
MsgBox(0, 0, $b)
$b是数组,应该是这样.$a = "(001):asdfasdjlkjxczx"
$b = StringRegExp($a, '.*?(?=\:)', 3)
MsgBox(0, 0, $b) 本帖最后由 lixiaolong 于 2011-3-25 21:11 编辑
回复 3# tryhi
请问这里开头的 ^ 跟 \A 是一个意思吧?
我在哪里看过,但是忘了. 回复tryhi
请问这里开头的 ^ 跟 \A 是一个意思吧?
我在哪里看过,但是完了.
lixiaolong 发表于 2011-3-25 20:32 http://www.autoitx.com/images/common/back.gif
^表示匹配字符串的开头 回复 7# tryhi
谢谢!
我把字打错了 完了>忘了 {:face (52):} 回复 8# lixiaolong
谢谢李小龙 呵呵 又做题咯#include <Array.au3>
$sText = "(001):asdfasdjlkjxczx"
$sRegExp = '.*(?=\:)'
$asResult = StringRegExp($sText, $sRegExp, 1)
If @error Then
MsgBox(4096, "", "返回结果非数组" &@LF& $asResult)
Else
_ArrayDisplay($asResult)
$b = $asResult
MsgBox(4096, "", "$b = " & $b)
EndIf 看来我又做错了.应该用懒惰模式的.
.*?(?=\:)
页:
[1]