AU3的正则式怎么匹配每一行的行首
比如:我要将 aaa bbbbbbccc
ccc ddd每一行的行首空格去掉
替换结果为aaa bbb
bbbccc
ccc ddd用下面的代码只能匹配开头的空格,而不能替换其它行行首的空格,原因是正则式没有工作在多行模式,请问用什么办法解决?
$Value=" aaa bbb"&chr(13)&chr(10)&" bbbccc"&chr(13)&chr(10)&"ccc ddd"
MsgBox(48, "提示", ""&StringRegExpReplace($Value, "^\s+", "")&"",0)
[ 本帖最后由 sd007 于 2009-2-15 17:15 编辑 ] 我暂时用循环的方法解决,但我觉得不理想,如果用正则式能取得行首,只要一句代码就能解决,请高手指教!
#include <Array.au3>
$Value = " aaa bbb"&chr(13)&chr(10)&" bbbccc"&chr(13)&chr(10)&"ccc ddd"
$arr_a = StringSplit($Value, chr(13)&chr(10), 1)
For $i=1 To UBound($arr_a)-1
$arr_a[$i] = StringRegExpReplace($arr_a[$i], "^\s+", "", 0)
next
MsgBox(48, "提示", _ArrayToString($arr_a,chr(13)&chr(10),1,UBound($arr_a)-1) ,0) 也只能如此了。循环解决 $Value=" aaa bbb"&chr(13)&chr(10)&" bbbccc"&chr(13)&chr(10)&"ccc ddd"
MsgBox(48, "提示", ""&StringRegExpReplace($Value, "^\s+|\n\s+", "")&"",0) pcbar大师的正则表达式是没得说了 如此好贴,居然现在才发现..
pcbar的正则真是巧夺天工! 能去空格吗? 本帖最后由 nansen 于 2010-3-5 20:19 编辑
(?m)是多行模式$Value=" aaa bbb"&chr(13)&chr(10)&" bbbccc"&chr(13)&chr(10)&"ccc ddd"
MsgBox(48, "提示", ""&StringRegExpReplace($Value, "(?m)^\s+", "")&"",0) 学习了真好 学习了,积累~~~ 学习。。。。
页:
[1]