1. 程式人生 > >區別Lua模式匹配中 %a+ 與 .-

區別Lua模式匹配中 %a+ 與 .-

匹配單詞與匹配字元

> print(string.gsub("hello!zzy","%a+","tina"))
tina!tina       2
> print(string.gsub("hello!zzy",".-","tina"))
tinahtinaetinaltinaltinaotina!tinaztinaztinaytina       10

%a :匹配字母

.  :匹配任意字元

> print(string.gsub("zzy!jd","%a","~"))
~~~!~~  5
> print(string.gsub("zzy!jd","%A","~"))
zzy~jd  1
> print(string.gsub("zzy!jd",".","~"))
~~~~~~  6
> print(string.gsub("zzy!jd",".-","~"))
~z~z~y~!~j~d~   7

字元短匹配與長匹配:

> test="/*tina*/;/*zz*/"
> print(string.gsub(test,"/%*.*%*/","new"))
new     1
> print(string.gsub(test,"/%*.-%*/","new"))
new;new 2