
import win.ui;
/*DSG{{*/
var winform = win.form(text="简码编程 Aardio示例";right=499;bottom=360)
winform.add(
button={cls="button";text="模式匹配";left=398;top=20;right=479;bottom=64;z=2};
edit={cls="edit";left=14;top=14;right=385;bottom=347;autohscroll=false;edge=1;multiline=1;vscroll=1;z=1}
)
/*}}*/
winform.button.oncommand = function(id,event){
var str = "0123456789_www.jianma123.com_电脑编程入门自学教程"
for s in string.gmatch( str,":|.") { //模式匹配
winform.edit.log( s,'\r\n' )
}
}
winform.show()
win.loopMessage();
本例用for in string.gmatch() 循环把每一个字符匹配出来(下个例子使用
for in string.gfind())。
模式匹配表达式":|."表示多字节或单字节任意字符,可以匹配多字节的汉字或单字节的字母、数字、符号。注意:模式匹配表达式如果改成".|:"则会匹配输出有乱码,因为汉字是多字节的,圆点优先匹配就会取到汉字的单字节,输出就是显示乱码了,所以要把表示多字节的":"放前面优先匹配。