[解決済み] Scalaで文字列が正規表現に完全にマッチするかどうかを確認するには?
2023-05-30 21:42:17
質問
多くの文字列をマッチさせたい正規表現パターンがあるとします。
val Digit = """\d""".r
私は与えられた文字列が完全に正規表現にマッチするかどうかをチェックしたいだけです。Scalaでこれを行うための良い、慣用的な方法は何ですか?
私はRegexesのパターンマッチができることを知っていますが、この場合、抽出するグループがないので、構文的にあまり喜ばしくありません。
scala> "5" match { case Digit() => true case _ => false }
res4: Boolean = true
あるいは、根本的なJavaパターンにフォールバックすることもできます。
scala> Digit.pattern.matcher("5").matches
res6: Boolean = true
というのもエレガントではありません。
もっと良い解決策はないのでしょうか?
どのように解決するのですか?
自分自身の質問に答えるために、私はquot;pimp my libraryパターン"を使用します。
object RegexUtils {
implicit class RichRegex(val underlying: Regex) extends AnyVal {
def matches(s: String) = underlying.pattern.matcher(s).matches
}
}
というように使用します。
import RegexUtils._
val Digit = """\d""".r
if (Digit matches "5") println("match")
else println("no match")
誰かがより良い(標準的な)解決策を考え出さない限り。
注意事項
-
ポン引きじゃない
String
を使用して、潜在的な副作用の範囲を限定しています。 -
unapplySeq
はその文脈ではあまりうまく読めません。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 正規表現におけるスラッシュのエスケープ
-
[解決済み] 与えられた文字列が与えられた部分文字列を含んでいるかどうかを見つけるための、scala の慣用的な方法は何ですか?
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] RegEx: 引用符で囲まれた値を取得する
-
[解決済み] Regex for string contains?
-
[解決済み] Bashスクリプトで文字列が正規表現にマッチするかどうかをチェックする
-
[解決済み] 展開された正規表現では、どのように解釈されますか?
-
[解決済み] Regexクレジットカード番号テスト
-
[解決済み] この文字にマッチしない」という意味の正規表現演算子はどれ?
-
[解決済み] 2つ以上の連続した文字を検索するためのRegEx