以下のコードは、ファイルから href リンクを解析するために使用しているものです。
def parseFile(){
val source = scala.io.Source.fromFile("C:\\Users\\Adrian\\Desktop\\parsefile.txt")
val lines = source.getLines
val Pattern = "\\s*(?i)href\\s*=\\s*(\\\"([^\"]*\")|'[^']*'|([^'\">\\s]+))"
for (line <- source.getLines) {
println(line)
line match {
case Pattern(c) => println(c)
case _ => None
}
}
source.close ()
}
parsefile からのサンプル行:
<A HREF="www.google.com" title="test">test</A>
しかし、次の Eclipse コンパイル時エラーが表示されます。
Multiple markers at this line
- not found: value c
- value Pattern is not a case class constructor, nor does it have an unapply/unapplySeq method
キャプチャ グループ String にアクセスするには、「c」をどのように宣言する必要がありますか?
上記のコードは、この質問から受け入れられた回答に基づいています:
Scalaで正規表現を使用してパターンマッチする方法は? 使用されるコードは次のとおりです。
val Pattern = "([a-cA-C])".r
word.firstLetter match {
case Pattern(c) => c bound to capture group here
case _ =>
}
ファイルを解析するための代替方法に関する提案は歓迎します。