描述:
用正则表达式匹配序列中的字符串成员。
语法:
A.regex(rs,Fi) |
正则表达式rs无拆出项时,用数据类型为字符串的字段Fi和rs匹配。返回排列A中经过过滤后的新排列。Fi省略时用当前记录和rs匹配。 |
A.regex(rs;Fi,…) |
正则表达式rs有拆出项时,用正则表达式rs拆分序列A中的字符串成员,返回结果拼成以Fi为字段的序表。 |
备注:
用正则表达式rs匹配序列A中的字符串成员,返回结果拼成以Fi为字段的序表。
参数:
A |
成员为字符串的序列或排列。 |
rs |
正则表达式。 拆出项指的是以分隔符分隔的多个正则表达式,并且每个正则表达式用括号括起来。每个拆出项匹配按顺序对应的字段。例如:"(.*),(a.*)" 为逗号分隔的两个拆出项。 |
Fi |
字段名,数据类型为字符串。 |
选项:
@c |
大小写不敏感。 |
@u |
使用unicode。 |
@p |
将结果序表中的数字串解析成数值。 |
返回值:
序表
|
A |
|
1 |
=demo.query("select NAME,SURNAME from EMPLOYEE") |
|
2 |
=A1.(~. array().concat@c()) |
转换为字串序列: |
3 |
=A2.regex("A.*") |
省略Fi,默认用当前记录和rs匹配: |
4 |
=A2.regex("(V.*),(.*)";name,surname) |
对A2成员正则匹配后返回序表: |
5 |
=file("D:\\a.txt").import@ts() |
|
6 |
=A5.(#1).regex@c("(.*),(a.*)";id,name) |
匹配姓名以a或A开头的人员: |
7 |
=demo.query("select 部门,姓名 from 员工表") |
|
8 |
=A7.(~.array().concat@c()) |
|
9 |
=A8.regex@u("(\\u9500\\u552e\\u90e8),(.*)";销售部,员工姓名) |
使用unicode匹配销售部: |
10 |
=A1.regex("V.*",NAME) |
正则表达式rs无拆出项时,用数据类型为字符串的字段Fi和rs匹配: |
11 |
=demo.query("select EID,NAME,SALARY from EMPLOYEE").(~. array().concat@c()) |
返回成员为字符串的序列: |
12 |
=A11.regex@p("(.*),(V.*),(.*)";id,name,salary) |
使用@p选项,将结果序表中的数字串解析成数值: |
相关概念: