regexp_matches(array_to_string(regexp_split_to_array(lower(work_content), '(?=((?!\d)10|35|\d{3})(?=kv|千伏))'), ';'), '(?i)站[^,;,。;]*(?:态势感知|安全设备|二次安防)[^,;,。;]*(?:调试|配置|巡检|B平面改造)') matched
时间: 2024-01-14 20:27:01 浏览: 36
这段SQL语句主要是使用了正则表达式对字符串进行匹配,其中包含了两个正则表达式。
第一个正则表达式使用了`regexp_split_to_array`函数将字符串按照`(?=((?!\d)10|35|\d{3})(?=kv|千伏))`进行分割,即按照`10kV`、`35kV`、`xxxkV`或`xxx千伏`进行分割,然后将分割后的数组使用`array_to_string`函数以分号为分隔符转换为字符串。这个正则表达式的作用是将字符串中的电压等级筛选出来,方便后面的正则表达式进行匹配。
第二个正则表达式使用了`regexp_matches`函数进行匹配,其中`(?i)`表示匹配时忽略大小写,`站[^,;,。;]*`表示匹配以`站`开头,后面不含逗号、分号、句号等标点符号的字符串,`(?:态势感知|安全设备|二次安防)`表示匹配包含`态势感知`、`安全设备`、`二次安防`中的任意一个的字符串,`[^,;,。;]*`表示匹配任意不含逗号、分号、句号等标点符号的字符串,`(?:调试|配置|巡检|B平面改造)`表示匹配包含`调试`、`配置`、`巡检`、`B平面改造`中的任意一个的字符串。这个正则表达式的作用是筛选出符合条件的字符串。最后,将匹配到的结果使用`matched`关键字命名,方便后续操作。
相关问题
regexp_split_to_array
`regexp_split_to_array` 是一个 PostgreSQL 函数,用于将一个字符串根据正则表达式分割成数组。该函数接受两个参数:字符串和正则表达式,返回一个由分割后的子字符串组成的数组。例如,以下是使用 `regexp_split_to_array` 函数将字符串 "Hello World, How are you?" 按照逗号和空格进行分割的示例:
```sql
SELECT regexp_split_to_array('Hello World, How are you?', ', ');
```
输出结果为:
```
{Hello,World,How,are,you?}
```
请注意,这是 PostgreSQL 特定的函数,与其他数据库管理系统可能不兼容。
regexp_split_to_array函数参数和用法
regexp_split_to_array函数和regexp_split_to_table函数类似,也可以将一个字符串按照正则表达式拆分成多个子串,但是它将这些子串放入一个数组中返回,而不是放入一个表中。其基本语法如下:
```
regexp_split_to_array(source, pattern [, flags])
```
其中,source表示要拆分的字符串,pattern表示正则表达式,flags表示可选的标志,可以用来指定正则表达式的匹配模式。
例如,假设有一个字符串"hello,world",我们想要将其按照逗号拆分成两个子串,并将这些子串放入一个数组中返回,可以使用如下SQL语句:
```
SELECT regexp_split_to_array('hello,world', ',');
```
执行该语句后,将返回一个包含两个元素的数组,分别为"hello"和"world"。
需要注意的是,regexp_split_to_array函数返回的是一个数组,而不是一个表,因此无法直接使用SELECT语句查询其结果。如果需要查询数组中的元素,则需要使用如下语法:
```
SELECT regexp_split_to_array('hello,world', ',')[1];
```
执行该语句后,将返回数组中第一个元素"hello"。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)