函数名称 |
正则.匹配查找 |
|
|
|
函数功能 |
正则匹配查找位置 |
|
|
|
函数语法 |
正则.匹配查找(str,pattern,init) |
|
|
|
英语语法 |
PP.PPCZ(str,pattern,init) |
|
|
|
参数说明 |
参数 |
类型 |
必填 |
说明 |
|
str |
string |
是 |
被查找字符 |
|
pattern |
string |
是 |
需要查找字符/匹配字符 |
|
init |
integer |
是 |
查找起始位置 |
返回值 |
有 |
integer |
|
1. 返回其具体2位置 2. 第一个字符位置和最后字符位置 3. 不存在则返回 nil |
注意事项 |
|
|
|
转义字符用于表示不能直接显示的字符,比如后退键,回车键,等。如在字符串转换双引号可以使用 “\””。
所有的转义字符和所对应的意义:
转义字符 |
意义 |
ASCII码值(十进制) |
\a |
响铃(BEL) |
007 |
\b |
退格(BS) ,将当前位置移到前一列 |
008 |
\f |
换页(FF),将当前位置移到下页开头 |
012 |
\n |
换行(LF) ,将当前位置移到下一行开头 |
010 |
\r |
回车(CR) ,将当前位置移到本行开头 |
013 |
\t |
水平制表(HT) (跳到下一个TAB位置) |
009 |
\v |
垂直制表(VT) |
011 |
\ |
代表一个反斜线字符’’\’ |
092 |
\’ |
代表一个单引号(撇号)字符 |
039 |
\” |
代表一个双引号字符 |
034 |
\0 |
空字符(NULL) |
000 |
\ddd |
1到3位八进制数所代表的任意字符 |
三位八进制 |
\xhh |
1到2位十六进制所代表的任意字符 |
二位十六进制 |
匹配码 |
意义 |
.(点) |
与任何字符配对 |
%a |
与任何字母配对 |
%c |
与任何控制符配对(例如\n) |
%d |
与任何数字配对 |
%l |
与任何小写字母配对 |
%p |
与任何标点(punctuation)配对 |
%s |
与空白字符配对 |
%u |
与任何大写字母配对 |
%w |
与任何字母/数字配对 |
%x |
与任何十六进制数配对 |
%z |
与任何代表0的字符配对 |
%x |
(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.[]*+-?)的配对问题, 例如%%与%配对 |
数个字符类 |
与任何[]中包含的字符类配对. 例如[%w]与任何字母/数字, 或下划线符号()配对 |
^数个字符类 |
与任何不包含在[]中的字符类配对. 例如[^%s]与任何非空白字符配对 |
#### 模式条目 |
#### 意义 |
* |
单个字符类跟一个 ‘*’, 将匹配零或多个该类的字符。 这个条目总是匹配尽可能长的串; |
+ |
单个字符类跟一个 ‘+’, 将匹配一或更多个该类的字符。 这个条目总是匹配尽可能长的串; |
- |
单个字符类跟一个 ‘-‘, 将匹配零或更多个该类的字符。 和 ‘*’ 不同, 这个条目总是匹配尽可能短的串; |
? |
单个字符类跟一个 ‘?’, 将匹配零或一个该类的字符。 只要有可能,它会匹配一个; |
%n |
%n, 这里的 n 可以从 1 到 9; 这个条目匹配一个等于 n 号捕获物(后面有描述)的子串。 |
%bxy |
%bxy, 这里的 x 和 y 是两个明确的字符; 这个条目匹配以 x 开始 y 结束, 且其中 x 和 y 保持 平衡 的字符串。 意思是,如果从左到右读这个字符串,对每次读到一个 x 就 +1 ,读到一个 y 就 -1, 最终结束处的那个 y 是第一个记数到 0 的 y。 举个例子,条目 %b() 可以匹配到括号平衡的表达式。 |
%f[set] |
%f[set], 指 边境模式; 这个条目会匹配到一个位于 set 内某个字符之前的一个空串, 且这个位置的前一个字符不属于 set 。 集合 set 的含义如前面所述。 匹配出的那个空串之开始和结束点的计算就看成该处有个字符 ‘\0’ 一样。 |
|
单个字符类匹配该类别中任意单个字符 |
函数用例:
local sdd,rty=正则.匹配查找("sds56755686sdsfrtre,y5678678","56",1)
print(sdd,rty)
💻进阶课程列表
💻YOLOv5课程列表
蜂群课堂-自动化教育