1、今天是2023年11月11日双十一节,\d{4}\年\d{2}\月\d{2}日  得到:2023年11月11日
2、转换时间格式为yyyy-mm-dd:
io.open();//打开控制台 var str = /* 2000-3-03 2001-10-1 2001-2-2 */               str=string.replace(str,"-(\d)!<\D>","-0\1",) io.print(str ); execute("pause") //按任意键继续 io.close();//关闭控制台 
 
3、提取数字:
 
io.open();//打开控制台          text=/* 使用777777可以第一时间收5555786到“提问有新5687987回答”“回答被采纳”“网友求助”的通6598546 您想在自己的网站上展示百度“知道”上的5264859问答吗?来吧! 如要投诉或提5985468出意见建议。 */          for m in string.gmatch( text,"\d+") {      io.print(m) } execute("pause") //按任意键继续 io.close();//关闭控制台 
 
4、换行了都能匹配:
import console; import web.mshtml var html = /* <img src="afds123 fdgd.jpg" /> <div>         <img src=         "aaabbbccc.jpg"                  /> </div> */ var mshtm = web.mshtml(); mshtm.write( html ) for i,img in mshtm.eachAll("img") {         console.log(i, img.src ) } console.pause(true); 
 
5、多种格式的数据一次性匹配出来
import console; io.open();//打开控制台 str = /* <a href='maxred.aspx?ID=56869657' target="_blank">稿件1309753</a> <td align="center" valign="middle" style="width:50px;"></td> <td align="left" valign="middle" style="width:60px;"> <div class="per_y">0%</div></td> <td align="center" valign="middle" style="width:60px;"> 26.1%</td> <td align="center" valign="middle" style="width:60px;"> 31.5%</td> #------------------------------------------------------------------------- <a href='maxred.aspx?ID=56869657' target="_blank">稿件1209751</a> <td align="center" valign="middle" style="width:50px;"></td> <td align="left" valign="middle" style="width:60px;"> <div class="per_y">12.3%</div></td> <td align="center" valign="middle" style="width:60px;"> 56.1%</td> <td align="center" valign="middle" style="width:60px;"> 63.2%</td> */ for m, m1 in string.gmatch(str, '\\<a.+?稿件([^\\<]+).+?<@per_y">@>(.+?)\\<.+?')     io.print(m, m1) console.pause(true); 
 
6、提取二维数组;
import win.ui; /*DSG{{*/ var winform = ..win.form(text="aardio Form";right=599;bottom=399;parent=...) winform.add( button={cls="button";text="提数组";left=445;top=318;right=551;bottom=353;z=2}; edit={cls="edit";left=17;top=26;right=394;bottom=223;edge=1;multiline=1;z=1} ) /*}}*/ func = function(str) begin         var ret = {};         for m in string.gmatch(str,"start,(.+?)end;") {                 var t = {}                 for m2 in string.gmatch(m,"\:(.+?)\,") {                         table.push(t, m2)                 }                 table.push(ret, t)         }                  return ret; end; lineShow = function(line) begin         winform.edit.text += (line + '\r\n') end; winform.button.oncommand = function(id,event){         var str = 'start,1:aaaa,2:bbbb,3:cccc,4:dddd,end;start,1:eeee,2:ffff,3:gggg,4:hhhh,end;'         lineShow('解析前:\r\n' + str)                  lineShow("解析后:")         var array = func(str)                 for(i=1;#array;1){                 var t = array;                 lineShow("---" + i + "---")                 for(j=1;#t;1){                         lineShow(j + ") " + t[j])                                }                 } } winform.show() win.loopMessage(); 
 
另一种二维数组提取法:
import win.ui; /*DSG{{*/ var winform = win.form(text="模式匹配测试程序";right=599;bottom=399;) winform.add( button={cls="button";text="提数组";left=445;top=318;right=551;bottom=353;z=2}; edit={cls="edit";left=17;top=26;right=394;bottom=223;edge=1;multiline=1;z=1} ) /*}}*/ winform.button.oncommand = function(id,event){              var array = {}         for m1,m2,m3,m4 in string.gmatch(                 'start,1:aaaa,2:bbbb,3:cccc,4:dddd,end;start,1:eeee,2:ffff,3:gggg,4:hhhh,end;',"start,1\:(\S+?),2\:(\S+?),3\:(\S+?),4\:(\S+?),end;"         ) {                   //添加到二维数组                 table.push( array, {m1;m2;m3;m4} )                                 //写入文本框                 winform.edit.appendText( m1,m2,m3,m4 ,'\r\n')         }                  //在文本框中显示二维数组         winform.edit.appendText( table.tostring(array),'\r\n' ) } winform.show() win.loopMessage();