![]() |
机器讲座(三)通配符、参数、表达式
1.Pattern中可以使用的特殊字符
* 匹配任何数量的字符或空格 ? 匹配一个字符 %d 匹配任何数量的数字(0-9) %w 匹配任何数量的字母(a-z) %a 匹配任何数量的字母或数字(0-9,a-z) %s 匹配任何数量的空格(spaces, tabs) %x 匹配任何数量的非空格 [range] 匹配任何数量的在[range]中列出的字符 ^ 强制从一行的开始进行匹配 $ 强制匹配到一行的结束 (pattern) 保存匹配的式样到参数%1~%9 ~ 包括其中的字符不会被解释为特殊字符 {val1|val2|val3|...} 匹配其中列出的任何特殊的串 {^string} 不匹配其中包括的串 使用[range]时,你可以在其中列出需要的字符例如 [abc] 或使用范围 [a-c] 。 为了匹配特殊字符本身,可以使用~将特殊字符括住,例如:~[test~] 将匹配字符串 [test] 而不是作为 [range] 来匹配。 只使用$可以匹配一个空行。 -------------------------------------------------------------------------------- 2.别名中使用参数的例子 我们在解谜过程中向npc提出的问题通常是以: ask npc about here ask npc about rumors ask npc about name 这样三个命令开始的,把他们定义成别名可以节省一些时间,像这样: #al askn {ask %1 about here;ask %1 about here;ask %1 about name} 可如果npc的名字有两个单词,或一堆同名的npc中你要问其中第二个,就需要把别名中的参数改为%-1,此时执行askn bing 2或askn tian bing就不会出错了。 为了更好的理解参数的作用,试试执行下面的命令: #al tt test1 %1 test2 %2 test3 %-1 test4 %-2 看看执行{tt a1 a2 a3 a4 a5}的结果,一切都清楚了吧? -------------------------------------------------------------------------------- 3.表达式 当执行运算时,如果所有参数均为数字,则执行数学运算,否则执行字符串操作。以下是一些常用的表达式(v1和v2代表变量或另外的表达式): v1+v2 如果v1或v2不是数字,则执行字符串相加 v1-v2 从v1中减去v2 v1*v2 相乘 v1/v2 v1除v2,结果不含小数 v1\v2 取模 v1&v2 逻辑运算and v1 and v2 同上 v1 | v2 逻辑运算or v1 or v2 同上 v1 xor v2 逻辑运算xor v1 = v2 如果v1等于v2返回真 v1 > v2 如果v1大于v2返回真 v1 < v2 如果v1小于v2返回真 v1 >= v2 如果v1大于等于v2返回真 v1 <= v2 如果v1小于等于v2返回真 v1 <> v2 如果v1不等于v2返回真 v1 != v2 同上 v1 =~ v2 如果表达式v1中的pattern包含v2,返回真 v1 ~= v2 同上 -v1 返回v1的负值 !v1 逻辑运算非 |
所有时间均为格林尼治时间 +9, 现在的时间是 01:28. |
Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号
站长 fengyue