表达式
<string>
=~ "<regexp>
"
- 左操作数:字符串
- 右操作数:正则表达式
示例
判断常量
本例判断字符串Ultipa是否全部是小写字母:
return "Ultipa" =~ "^[a-z]+$"
0
判断函数
本例判断字符串Ultipa.com转为小写后是否全部是小写字母:
return lower("Ultipa.com") =~ "^[a-z]+$"
0
判断别名
本例判断一个别名的每行是否全部是小写字母:
uncollect ["Ultipa.com", "grAph", "graph"] as a
return a =~ "^[a-z]+$"
0
0
1
过滤属性值
示例图集:
在一个空图集中,依次运行以下各行语句创建示例图集:
create().node_schema("professor").node_schema("student")
create().node_property(@*, "age", int32).node_property(@*, "email", string)
insert().into(@professor).nodes([{_id:"P001",_uuid:1,age:53,email:"test@yahoo.cn"},{_id:"P002",_uuid:2,age:27,email:"test@ultipa.com"}])
insert().into(@student).nodes([{_id:"S001",_uuid:3,age:27,email:"test@yeah.net"},{_id:"S002",_uuid:4,age:20,email:"test@w3.org"},{_id:"S003",_uuid:5,age:25,email:"test@gmail.com"}])
本例查找有email属性且该属性值满足xxx@xxx.com或xxx@xxx.cn格式的点:
find().nodes({email =~ "^[a-zA-Z0-9_.-]+@[a-zA-Z0-9]+\.(com|cn)$"}) as n
return n{*}
|--------------- @professor --------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| P001 | 1 | 53 | test@yahoo.cn |
| P002 | 2 | 27 | test@ultipa.com |
|---------------- @student ---------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| S003 | 5 | 25 | test@gmail.com |
本例查找email属性值满足xxx@xxx.com或xxx@xxx.cn格式的@professor点:
find().nodes({@professor.email =~ "^[a-zA-Z0-9_.-]+@[a-zA-Z0-9]+\.(com|cn)$"}) as n
return n{*}
|--------------- @professor --------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| P001 | 1 | 53 | test@yahoo.cn |
| P002 | 2 | 27 | test@ultipa.com |