Как мне получить первое совпадение из regexp_match?

#postgresql-13

Вопрос:

Я хотел бы обновить столбец только доменной частью адреса электронной почты.

 update
  users
set
  email_base_domain = regexp_match(email, '(w .w )

Однако  regexp_match  возвращает a  text[]  . Если адрес электронной почты  example@foo.com  указан выше, установите для  {foo.com}  домена email_base_domain значение . Я хотел бы foo.com  .

Как мне получить только первый элемент, как  text  из  text[]  возвращенного  regexp_match  ?


Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:

 SELECT regexp_matches(email, '(w ).w 

вернется  {foo}  , пока

 SELECT regexp_matches(email, 'w .(w )

вернет '{com}'.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:

 SELECT (regexp_matches(email, '(w ).w 

возвращается  'foo'  и

 SELECT (regexp_matches(email, 'w .(w )

ВОЗВРАТ 'com'  .

db<>поиграйте с другими альтернативами здесь




Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет '{com}'.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM users
вернется {foo} , пока


вернет '{com}'.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM users

вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM users

вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

))[1]
FROM usersвозвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM users

вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM usersвернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM usersвернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

))[1]
FROM users

ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM users

вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM usersвернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM usersвернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

))[1]
FROM users

возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM usersвернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM users

вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)

Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)
FROM users

вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.

)Однако regexp_match возвращает a text[] . Если адрес электронной почты example@foo.com указан выше, установите для {foo.com} домена email_base_domain значение . Я хотел бы foo.com .

Как мне получить только первый элемент, как text из text[] возвращенного regexp_match ?

Ответ №1:

Добавьте набор круглых скобок, чтобы сгруппировать то, что вы хотите извлечь. Например:


вернется {foo} , пока


вернет ‘{com}’.

Как только у вас есть текстовый массив, вы можете использовать обычную индексацию массива для извлечения значений из возвращаемого текстового массива. Например:


возвращается 'foo' и


ВОЗВРАТ 'com' .

db<>поиграйте с другими альтернативами здесь

Комментарии:

1. Возможно, я не совсем ясно выразился, но я foo.com не хочу {foo.com} этого . Я хочу, чтобы только первый элемент из массива возвращался с помощью regexp_matches.

2. Добавлены примеры индексирования массивов. db<>fiddle расширен дополнительными примерами.

3. О, оберните вызов функции в скобки. Спасибо! Это все, что я искал.