読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

正規表現

Scala

Regexを使うのがよさげです。

  • 使い方はAPIドキュメントを見ればだいたいわかるかと。
  • なお、古いScalaには含まれていないので注意。scala-2.7.0には入っておらず、scala-2.7.1.finalを落としてくると入ってました。

以下は簡単なサンプルです。

// 正規表現
var r = new Regex( "[A-Z]" )

// 正規表現にマッチするか評価する
println( r.findFirstIn("Mii") != None ) // true
println( r.findFirstIn("___") != None ) // false

// マッチする文字列を置換
println( r.replaceAllIn( "MiiToraKuroShiro", "_" ) ) // _ii_ora_uro_hiro
println( r.replaceFirstIn( "MiiToraKuroShiro", "_" ) ) // _iiToraKuroShiro

// マッチした断片を順に取り出す
r = new Regex( "([A-Z])([a-z]+)" )
r.findAllIn("MiiToraKuroShiro").matchData.foreach( i => {
  println( "-- " )
  println( "matched : " + i.matched )
  println( "group0  : " + i.group(0) )
  println( "group1  : " + i.group(1) ) 
})

実行結果です。

true
false
_ii_ora_uro_hiro
_iiToraKuroShiro
-- 
matched : Mii
group0  : M
group1  : ii
-- 
matched : Tora
group0  : T
group1  : ora
-- 
matched : Kuro
group0  : K
group1  : uro
-- 
matched : Shiro
group0  : S
group1  : hiro