回答編集履歴
2
追記
answer
CHANGED
@@ -7,4 +7,7 @@
|
|
7
7
|
select substring(url from '[0-9]+') -- 正規表現
|
8
8
|
, translate(url, translate(url ,'0123456789', ''), '') -- 数字を消した文字列を利用して、数字以外を消す
|
9
9
|
from unnest('{https://teratail.com/questions/0002/}'::text[]) as w(url)
|
10
|
-
```
|
10
|
+
```
|
11
|
+
尚、何れも数値だけを抽出するもので区切りなどは考慮してません。
|
12
|
+
正規表現は1以上の連続した数字で、左から見て最初のものを取り出し、
|
13
|
+
正規表現でないものは数字全てを取り出します。
|
1
修正
answer
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
文字列から数字だけ抜き出す=正規表現は、最早定番です。
|
2
2
|
ちょっと捻りを加えたパターンもアレンジしてみました。
|
3
3
|
|
4
|
+
postgres
|
5
|
+
---
|
4
6
|
```SQL
|
5
7
|
select substring(url from '[0-9]+') -- 正規表現
|
6
8
|
, translate(url, translate(url ,'0123456789', ''), '') -- 数字を消した文字列を利用して、数字以外を消す
|