2016-08-23 32 views
1

REGEXPを使用して一致するかどうか(つまり1または0)だけでなく、実際の一致自体を返す方法がありますか?私は、URLの列を持っていると私は(例えばドメイン)URLのマッチした部分を抽出したい場合たとえば、:REGEXP拡張の間に差異がある場合SQLite3でREGEXPを使用して一致する文字列(列の値)を抽出する方法

SELECT url REGEXP '\w+\.com' AS domain 
FROM urls 
GROUP by domain; 

わからないが、FWIW、私はよDB Browser for SQLite

+0

これは、一致する部分を返しません 'SELECT * FROM urlsどこREGEXP' \ w + \。com '? – revo

+2

@ revo..thatは、パターンが一致する場合は行を返し、そうでない場合は行を返します。 OPはパターンそのものを求めている。 –

答えて

1

REGEXP演算子は、テキストが一致するかどうかに関わらずブール値を返します。

詳細については、他の機能を記述する必要があります。

+0

これを答えとして受け入れます。他の(正式な)代替案が見つからないため、REGEXP演算子はあなたの言うとおりです。ありがとう! –

-2

REGEXP_SUBSTRなどを使用することができます。

SELECT REGEXP_SUBSTR(url, '\w+\.com') AS domain FROM urls 
+0

** REGEXP_SUBSTRはSQLite3、MySQL、PostgreSQL、...ではなくOracle **のためのものです。 – Meloman

+0

@MelomanこれはAmazon Redshiftでも有効です。あなたは正しいですが、ここでの私の答えは、SQLite – AlexG

関連する問題