正規表現・デバッグで詰まったところ

you12724 26views 更新:2016年9月27日

requestのユーザーエージェントからiOSのバージョンを抜き出す時に正規表現でハマったところを簡単にメモします。
まず正規表現を組み立てる時に以下のサイトで確かめながら作りました。
Regular Expression Test Drive Javaのmatcher.group(n) などで得られる値まで出てくるので便利です。

正規表現は上のサイトで組み立てられたのですが、デバッグモードで1行ずつ確認しながらやってたところ

if (matcher.find()){
  // コード
}

などの部分でデバッグ上ではtrueになっているのにif文の中に入ってくれないという状況がおきました。
原因としてはEclipseのデバッグモードの式の中でmatcher.find()を呼んでいたため、イテレーターが回ってコード上ではfalseになってしまったことでした。
このようにメソッドを呼び出すだけで影響を与えてしまうようなものは注意してデバッグしなければいけないなと学びました。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません