hive 正则表达式 不匹配 p1 或 p2 或 p3
时间: 2024-05-06 12:17:18 浏览: 11
在 Hive 中,可以使用正则表达式函数 `regexp` 来进行正则匹配操作。如果要匹配不包含 p1、p2 或 p3 的字符串,可以使用 `not regexp` 并结合正则表达式中的逻辑或符号 `|`,示例代码如下:
```sql
SELECT *
FROM my_table
WHERE NOT regexp 'p1|p2|p3' AND column_name IS NOT NULL;
```
以上代码将从表 `my_table` 中选择所有不匹配 `p1`、`p2` 或 `p3` 的非空字符串。
相关问题
Hive正则表达式匹配换行符
您可以使用Hive中的正则表达式来匹配换行符。换行符可以用"\n"表示。下面是一个示例查询,演示如何使用正则表达式匹配换行符:
```sql
SELECT column
FROM table
WHERE column RLIKE '\n';
```
这将返回包含换行符的列值。请注意,RLIKE是Hive中用于执行正则表达式匹配的操作符。在正则表达式中,"\n"表示换行符。您可以根据需要自定义正则表达式模式。
hive正则表达式匹配数字
可以使用Hive中的正则表达式函数`regexp_extract()`或`regexp_replace()`来匹配数字。
例如,要从一个字符串中提取所有数字,可以使用以下语句:
```
SELECT regexp_extract('abc123def456', '\\d+', 0);
```
这将返回字符串中第一个匹配的数字,即"123"。
如果要提取所有数字,可以使用`regexp_replace()`函数:
```
SELECT regexp_replace('abc123def456', '\\D', '');
```
这将返回"123456",即去掉所有非数字字符后的结果。