kotlin URLからドメインやプロトコル・ポート番号・パスを抽出する

kotlin URLからドメインやプロトコル・ポート番号・パスを抽出する

kotlinで、正規表現を使用してURLからドメインやプロトコル・ポート番号・パスを抽出する手順を記述してます。「Regex」を使って正規表現を使用することで可能です。

環境

  • OS windows11 home
  • java 19.0.1
  • kotlin 1.7.20-release-201

抽出

URLからメインやプロトコル・ポート番号・パスを分けて抽出するには、「Regex」で正規表現を使用することで可能です。

実際に、使用して実行してみます。

fun main(){

    val url = "https://mebee.info:80/2022/04/20/post-65773/"

    val regex = Regex("""^(.+?)://(.+?):?(\d+)?(/.*)?${'$'}""")

    val match = regex.find(url)

    match?.groups?.forEach { v -> println(v?.value) }

}

実行結果