pgsql 正则截取数字前的数据
时间: 2024-02-25 15:53:29 浏览: 157
在 PostgreSQL 中,可以使用正则表达式函数 `substring()` 和 `regexp_replace()` 来截取数字前的数据。以下是一些示例:
1. 截取整数前的数据
可以使用 `substring()` 函数和正则表达式 `.*?(?=\d)` 来截取整数前的数据。例如:
```
SELECT substring('example 123 string' FROM '.*?(?=\d)');
```
这将返回字符串 'example ',因为它是原始字符串中整数 '123' 前面的所有字符。
2. 截取浮点数前的数据
可以使用 `regexp_replace()` 函数和正则表达式 `(\d+(\.\d+)?).*` 来截取浮点数前的数据。例如:
```
SELECT regexp_replace('example 123.45 string', '(\d+(\.\d+)?).*', '\1');
```
这将返回字符串 '123.45',因为它是原始字符串中的浮点数。
以上是几个常见的字符串截取示例,你可以根据自己的需求来使用 `substring()` 函数、`regexp_replace()` 函数和正则表达式来截取数字前的数据。
相关问题
pgsql 正则截取字符串前的数据
在 PostgreSQL 中,可以使用正则表达式函数 `substring()` 和 `position()` 来截取字符串前的数据。以下是一些示例:
1. 截取指定字符串前的数据
可以使用 `substring()` 函数和 `position()` 函数来截取指定字符串前的数据。例如:
```
SELECT substring('example string' FROM '^.*(?=str)');
```
这将返回字符串 'example ',因为它是原始字符串中 'str' 前面的所有字符。
2. 截取指定正则表达式前的数据
可以使用 `substring()` 函数、`position()` 函数和正则表达式来截取指定正则表达式前的数据。例如:
```
SELECT substring('example string' FROM '^.*(?=[aeiou])');
```
这将返回字符串 'exampl',因为它是原始字符串中第一个元音字母 'e' 前面的所有字符。
以上是几个常见的字符串截取示例,你可以根据自己的需求来使用 `substring()` 函数、`position()` 函数和正则表达式来截取字符串前的数据。
pgsql 正则截取字符串
在 PostgreSQL 中,可以使用正则表达式函数 `substring()` 来截取字符串。以下是一些示例:
1. 从字符串中截取指定长度的子串
可以使用 `substring()` 函数和 `^.{n}` 模式来截取字符串中前 n 个字符,例如:
```
SELECT substring('example string' FROM '^.{6}');
```
这将返回字符串 'example',因为它是原始字符串的前 6 个字符。
2. 从字符串中截取匹配的子串
可以使用 `substring()` 函数和正则表达式来截取匹配的子串。例如:
```
SELECT substring('example string' FROM '\w+');
```
这将返回字符串 'example',因为它是原始字符串中的第一个匹配单词。
3. 从字符串中截取指定位置和长度的子串
可以使用 `substring()` 函数和 `FROM` 和 `FOR` 子句来截取字符串中指定位置和长度的子串。例如:
```
SELECT substring('example string' FROM 3 FOR 7);
```
这将返回字符串 'ample st',因为它是从原始字符串的第 3 个字符开始的 7 个字符。
以上是几个常见的字符串截取示例,你可以根据自己的需求来使用 `substring()` 函数和正则表达式来截取字符串。
阅读全文