找回密码
 加入
搜索
查看: 3479|回复: 10

[AU3基础] 求一个字符的正则表达[已解决]

  [复制链接]
发表于 2011-3-25 14:25:44 | 显示全部楼层 |阅读模式
本帖最后由 haijie1223 于 2011-3-28 07:34 编辑

是这样的   我的一个程序里有这么一个变量
$a=“(001):asdfasdjlkjxczx”
字符型的  a的随机值中都会有(xxx):这一段  
所以我想用正则表达式  把冒号左边的字符都获取下来赋值给新的变量$b
发表于 2011-3-25 16:00:39 | 显示全部楼层
貌似stringsplit就可以。
要正则的话,试下这个".*?(?=\:)"
发表于 2011-3-25 16:17:57 | 显示全部楼层
^[^\:]+
 楼主| 发表于 2011-3-25 16:34:19 | 显示全部楼层
楼上两位的正则返回值都一样 无论变量怎么变化   都只出现1
发表于 2011-3-25 17:39:54 | 显示全部楼层
回复 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[0])

评分

参与人数 1金钱 +10 收起 理由
tryhi + 10

查看全部评分

发表于 2011-3-25 20:32:19 | 显示全部楼层
本帖最后由 lixiaolong 于 2011-3-25 21:11 编辑

回复 3# tryhi

请问这里开头的 ^ 跟 \A 是一个意思吧?
我在哪里看过,但是忘了.
发表于 2011-3-25 21:05:41 | 显示全部楼层
回复  tryhi

请问这里开头的 ^ 跟 \A 是一个意思吧?
我在哪里看过,但是完了.
lixiaolong 发表于 2011-3-25 20:32



    ^表示匹配字符串的开头

评分

参与人数 1金钱 +10 贡献 +1 收起 理由
lixiaolong + 10 + 1 谢谢!

查看全部评分

发表于 2011-3-25 21:12:04 | 显示全部楼层
回复 7# tryhi

谢谢!
我把字打错了 完了>忘了
 楼主| 发表于 2011-3-27 13:40:53 | 显示全部楼层
回复 8# lixiaolong


    谢谢  李小龙 呵呵
发表于 2011-3-27 14:47:00 | 显示全部楼层
又做题咯
#include <Array.au3>
$sText   = "(001):asdfasdjlkjxczx"
$sRegExp = '.*(?=\:)'
$asResult = StringRegExp($sText, $sRegExp, 1)
If @error Then
        MsgBox(4096, "", "返回结果非数组" &@LF& $asResult)
Else
        _ArrayDisplay($asResult)
        $b = $asResult[0]
        MsgBox(4096, "", "$b = " & $b)
EndIf
发表于 2011-3-27 14:50:24 | 显示全部楼层
看来我又做错了.应该用懒惰模式的.
.*?(?=\:)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-2 10:26 , Processed in 0.095082 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表