关于正则表达式(匹配au3备注),比较难。
昨天一个晚上,写了1组正则表达式来高亮AU3代码用于自己的BLOG,基本都OK了。但是还差一个备注,判断起来比较难,因为是用JAVASCRIPT来操作的,所以判断语法比较困难。
有什么方法可以找出 AU3的备注呢?
如:
$hCallBack2 = DllCallbackRegister("_TimerCallBackFunc", "none", "hwnd;int;int;dword")
;$hCallBack3 = DllCallbackRegister("_TimerCallBackFunc", "none", "hwnd;int;int;dword")
$iTimer1 = _WinAPI_SetTimer($hGUI, $TIMERID1, 1000, DllCallbackGetPtr($hCallBack));这里是备注
$a=2;备注
safdsafadfdf" ;"123"12345(;789";jd
safdsa;fadfdf" ;"123"12345(;789";jd
$hwnd=$rehwnd;这里是备注
请看上面代码,如何找出所有的备注呢?
;.* 会把第1行也匹配了。
^;*.*这样可以去掉第2行了。
其他的混合语句,实在想不出用什么方法。高手帮帮忙。什么方式的都可以,包括其他语言的或网页脚本的方式。
[ 本帖最后由 akmm88 于 2009-1-19 13:33 编辑 ] $var = FileRead("A.txt")
$str = stringRegExp($var, '(?!.*\")(?:[^\"])?(;.*)(?<!\")', 3)
For $a = 0 to Ubound($str) - 1
msgBox(0, '', $str[$a])
Next先将你的代码写到A.TXT中~ $var = "safdsafadfdf" ;"123"12345(;789";jd
$var = "safdsa;fadfdf" ;"123"12345(;789";jd
这样问题还很多,上面的2句就会出错了,该论坛的这个就没有这个问题 何必这么麻烦 问一下 本站用的那个高亮插件的作者嘛
泡泡发电站 对应楼主的问题,写了下,不知道行不行
$a = '$hCallBack2 = DllCallbackRegister("_TimerCallBackFunc", "none", "hwnd;int;int;dword")' & @CRLF & _
';$hCallBack3 = DllCallbackRegister("_TimerCallBackFunc", "none", "hwnd;int;int;dword")' & @CRLF & _
'$iTimer1 = _WinAPI_SetTimer($hGUI, $TIMERID1, 1000, DllCallbackGetPtr($hCallBack));这里是备注' & @CRLF & _
'$a=2;备注' & @CRLF & '$var = "safdsafadfdf" ;"123"12345(;789";jd' & @CRLF & '$var = "safdsa;fadfdf" ;"123"12345(;789";jd'
$T = StringRegExp($a, '[^a-z](;.*)', 3, 1)
For $i = 0 To UBound($T) - 1
MsgBox(0,0,$T[$i],2)
Next
$a="$hwnd=$rehwnd;这里是备注"
$T = StringRegExp($a, '[^a-z](;.*)', 3, 1)
For $i = 0 To UBound($T) - 1
MsgBox(0,0,$T[$i],2)
Next
备注的情况种类太多了,;前面完全有可能是字母的啊 原帖由 sxd 于 2009-1-18 21:07 发表 http://www.autoitx.com/images/common/back.gif
何必这么麻烦 问一下 本站用的那个高亮插件的作者嘛
泡泡发电站
研究正则比较重要,目的反而不重要了 原帖由 akmm88 于 2009-1-19 13:26 发表 http://www.autoitx.com/images/common/back.gif
$a="$hwnd=$rehwnd;这里是备注"
$T = StringRegExp($a, '[^a-z](;.*)', 3, 1)
For $i = 0 To UBound($T) - 1
MsgBox(0,0,$T[$i],2)
Next
备注的情况种类太多了,;前面完全有可能是字母的啊 ...
你举的这个例子,变量$a后面只不过是一个字符串,并没有没有注释啊 字母例子应该是:
$a = $b ;注释
要做这个必须对语法结构和正则两者皆熟悉才行,我只不过给出个参考,LZ你努力吧. 原帖由 akmm88 于 2009-1-19 13:39 发表 http://www.autoitx.com/images/common/back.gif
研究正则比较重要,目的反而不重要了
我的意思是 你可以参考一下本站的这个插件
页:
[1]