0
私は、正規表現を使って指定された文字列からDatalake Store FQDNを抽出しようとしています。誰かが助けてくれますか?文字列からADL FQDNを抽出する正規表現
Input = adl://asbwje-fhs.azuredatalakestore.net/123/wds/xyz=456/
Output = adl://asbwje-fhs.azuredatalakestore.net
ADL FQDNは、その定義に[a-zA-Z_-]
を持つことができます。私は、次のことを試してみた:
scala> val ADLStorePattern = "(.*) ([a-zA-Z_-]+) (.net) (.*)".r
ADLStorePattern: scala.util.matching.Regex = (.*) ([a-zA-Z_-]+) (.net) (.*)
scala> val ADLStorePattern(adl, _, _) = "adl://asbwje-fhs.azuredatalakestore.net"
scala.MatchError: adl://asbwje-fhs.azuredatalakestore.net (of class java.lang.String)
... 32 elided
scala> val ADLStorePattern(adl, _) = "adl://asbwje-fhs.azuredatalakestore.net"
scala.MatchError: adl://asbwje-fhs.azuredatalakestore.net (of class java.lang.String)
... 32 elided
scala> val ADLStorePattern(_, adl, _) = "adl://asbwje-fhs.azuredatalakestore.net"
scala.MatchError: adl://asbwje-fhs.azuredatalakestore.net (of class java.lang.String)
... 32 elided
scala> val ADLStorePattern(_, adl, _, _) = "adl://asbwje-fhs.azuredatalakestore.net"
scala.MatchError: adl://asbwje-fhs.azuredatalakestore.net (of class java.lang.String)
... 32 elided
scala> val ADLStorePattern = "([a-zA-Z_-]+) (.net) (.*)".r
ADLStorePattern: scala.util.matching.Regex = ([a-zA-Z_-]+) (.net) (.*)
scala> val ADLStorePattern(adl, _) = "adl://asbwje-fhs.azuredatalakestore.net"
scala.MatchError: adl://asbwje-fhs.azuredatalakestore.net (of class java.lang.String)
... 32 elided
scala> val ADLStorePattern(adl, _, _) = "adl://asbwje-fhs.azuredatalakestore.net"
scala.MatchError: adl://asbwje-fhs.azuredatalakestore.net (of class java.lang.String)
... 32 elided