mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-26 09:32:01 +00:00
Merge pull request #12578 from BayoNet/docs/CLICKHOUSEDOCS-642-extractAllGroups
DOCS-642: extractAllGroups
This commit is contained in:
commit
f03d8b65ea
@ -111,4 +111,43 @@ SELECT alphaTokens('abca1abc')
|
|||||||
└─────────────────────────┘
|
└─────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## extractAllGroups(text, regexp) {#extractallgroups}
|
||||||
|
|
||||||
|
Extracts all groups from non-overlapping substrings matched by a regular expression.
|
||||||
|
|
||||||
|
**Syntax**
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
extractAllGroups(text, regexp)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Parameters**
|
||||||
|
|
||||||
|
- `text` — [String](../data-types/string.md) or [FixedString](../data-types/fixedstring.md).
|
||||||
|
- `regexp` — Regular expression. Constant. [String](../data-types/string.md) or [FixedString](../data-types/fixedstring.md).
|
||||||
|
|
||||||
|
**Returned values**
|
||||||
|
|
||||||
|
- If the function finds at least one matching group, it returns `Array(Array(String))` column, clustered by group_id (1 to N, where N is number of capturing groups in `regexp`).
|
||||||
|
|
||||||
|
- If there is no matching group, returns an empty array.
|
||||||
|
|
||||||
|
Type: [Array](../data-types/array.md).
|
||||||
|
|
||||||
|
**Example**
|
||||||
|
|
||||||
|
Query:
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
SELECT extractAllGroups('abc=123, 8="hkl"', '("[^"]+"|\\w+)=("[^"]+"|\\w+)');
|
||||||
|
```
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
``` text
|
||||||
|
┌─extractAllGroups('abc=123, 8="hkl"', '("[^"]+"|\\w+)=("[^"]+"|\\w+)')─┐
|
||||||
|
│ [['abc','123'],['8','"hkl"']] │
|
||||||
|
└───────────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
[Original article](https://clickhouse.tech/docs/en/query_language/functions/splitting_merging_functions/) <!--hide-->
|
[Original article](https://clickhouse.tech/docs/en/query_language/functions/splitting_merging_functions/) <!--hide-->
|
||||||
|
@ -33,4 +33,42 @@ SELECT alphaTokens('abca1abc')
|
|||||||
└─────────────────────────┘
|
└─────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## extractAllGroups(text, regexp) {#extractallgroups}
|
||||||
|
|
||||||
|
Выделяет все группы из неперекрывающихся подстрок, которые соответствуют регулярному выражению.
|
||||||
|
|
||||||
|
**Синтаксис**
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
extractAllGroups(text, regexp)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Параметры**
|
||||||
|
|
||||||
|
- `text` — [String](../data-types/string.md) или [FixedString](../data-types/fixedstring.md).
|
||||||
|
- `regexp` — Регулярное выражение. Константа. [String](../data-types/string.md) или [FixedString](../data-types/fixedstring.md).
|
||||||
|
|
||||||
|
**Возвращаемые значения**
|
||||||
|
|
||||||
|
- Если найдена хотя бы одна подходящая группа, функция возвращает столбец вида `Array(Array(String))`, сгруппированный по идентификатору группы (от 1 до N, где N — количество групп с захватом содержимого в `regexp`).
|
||||||
|
|
||||||
|
- Если подходящих групп не найдено, возвращает пустой массив.
|
||||||
|
|
||||||
|
Тип: [Array](../data-types/array.md).
|
||||||
|
|
||||||
|
**Пример использования**
|
||||||
|
|
||||||
|
Запрос:
|
||||||
|
|
||||||
|
``` sql
|
||||||
|
SELECT extractAllGroups('abc=123, 8="hkl"', '("[^"]+"|\\w+)=("[^"]+"|\\w+)');
|
||||||
|
```
|
||||||
|
|
||||||
|
Результат:
|
||||||
|
|
||||||
|
``` text
|
||||||
|
┌─extractAllGroups('abc=123, 8="hkl"', '("[^"]+"|\\w+)=("[^"]+"|\\w+)')─┐
|
||||||
|
│ [['abc','123'],['8','"hkl"']] │
|
||||||
|
└───────────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
[Оригинальная статья](https://clickhouse.tech/docs/ru/query_language/functions/splitting_merging_functions/) <!--hide-->
|
[Оригинальная статья](https://clickhouse.tech/docs/ru/query_language/functions/splitting_merging_functions/) <!--hide-->
|
||||||
|
@ -293,7 +293,7 @@ Examples of how this hierarchy is treated:
|
|||||||
- The `MODIFY SETTING` privilege allows modifying table engine settings. It doesn’t affect settings or server configuration parameters.
|
- The `MODIFY SETTING` privilege allows modifying table engine settings. It doesn’t affect settings or server configuration parameters.
|
||||||
- The `ATTACH` operation needs the [CREATE](#grant-create) privilege.
|
- The `ATTACH` operation needs the [CREATE](#grant-create) privilege.
|
||||||
- The `DETACH` operation needs the [DROP](#grant-drop) privilege.
|
- The `DETACH` operation needs the [DROP](#grant-drop) privilege.
|
||||||
- To stop mutation by the [KILL MUTATION](../../sql-reference/statements/misc.md#kill-mutation) query, you need to have a privilege to start this mutation. For example, if you want to stop the `ALTER UPDATE` query, you need the `ALTER UPDATE`, `ALTER TABLE`, or `ALTER` privilege.
|
- To stop mutation by the [KILL MUTATION](../../sql-reference/statements/misc.md#kill-mutation-statement) query, you need to have a privilege to start this mutation. For example, if you want to stop the `ALTER UPDATE` query, you need the `ALTER UPDATE`, `ALTER TABLE`, or `ALTER` privilege.
|
||||||
|
|
||||||
### CREATE {#grant-create}
|
### CREATE {#grant-create}
|
||||||
|
|
||||||
@ -312,7 +312,7 @@ Allows executing [CREATE](../../sql-reference/statements/create.md) and [ATTACH]
|
|||||||
|
|
||||||
### DROP {#grant-drop}
|
### DROP {#grant-drop}
|
||||||
|
|
||||||
Allows executing [DROP](../../sql-reference/statements/misc.md#drop) and [DETACH](../../sql-reference/statements/misc.md#detach) queries according to the following hierarchy of privileges:
|
Allows executing [DROP](../../sql-reference/statements/misc.md#drop) and [DETACH](../../sql-reference/statements/misc.md#detach-statement) queries according to the following hierarchy of privileges:
|
||||||
|
|
||||||
- `DROP`. Level:
|
- `DROP`. Level:
|
||||||
- `DROP DATABASE`. Level: `DATABASE`
|
- `DROP DATABASE`. Level: `DATABASE`
|
||||||
|
Loading…
Reference in New Issue
Block a user