lua模式匹配 LUA正則表達(dá)式?
LUA正則表達(dá)式?在Lua中,修飾符-和*都表示前一個(gè)字符匹配了0次或更多次,但是-是最短的匹配,類似于傳統(tǒng)正則化中的非貪婪匹配,而*是最長(zhǎng)的匹配,即貪婪匹配。因?yàn)樵谡齽t化的最后一個(gè)之后沒(méi)有任何內(nèi)容,
LUA正則表達(dá)式?
在Lua中,修飾符-和*都表示前一個(gè)字符匹配了0次或更多次,但是-是最短的匹配,類似于傳統(tǒng)正則化中的非貪婪匹配,而*是最長(zhǎng)的匹配,即貪婪匹配。因?yàn)樵谡齽t化的最后一個(gè)之后沒(méi)有任何內(nèi)容,所以這是最短匹配-執(zhí)行最短匹配,也就是說(shuō),沒(méi)有任何內(nèi)容匹配,所以不會(huì)捕獲1999。在添加$之后,因?yàn)橛幸粋€(gè)結(jié)束標(biāo)識(shí)符,所以必須匹配-1999才能完成整個(gè)常規(guī)匹配過(guò)程,所以捕獲1999,或者用*替換最后一個(gè)-,或者你可以捕獲1999年的字符串。匹配是字符串庫(kù)中的標(biāo)準(zhǔn)函數(shù)
local STR=“今天是”2013-11-4“
print(字符串。匹配(STR,%d%d%d“)
您可以匹配包含4個(gè)數(shù)字的位置,即2013的位置
%s表示空格,包括空格選項(xiàng)卡,回車
%w%C和[]^等魔法字符。- *? 具體使用請(qǐng)參照說(shuō)明書(shū)