回答編集履歴

2

例外について追記

2017/05/03 14:29

投稿

shiroyuki
shiroyuki

スコア169

test CHANGED
@@ -5,3 +5,17 @@
5
5
  Matcherのリファレンスをみればわかりますが、group()は**前回のマッチ処理の結果を取得する**ものですので検索処理自体を行うものではありません。
6
6
 
7
7
  **検索を行っていなければ結果は取得できません**のでfind()等を使用した検索後でなければ例外を出すことになります。
8
+
9
+
10
+
11
+ ちなみにgroupが出す例外は以下のようになっています。
12
+
13
+ 例外:
14
+
15
+ IllegalStateException - マッチがまだ試みられていない場合、または前回のマッチ操作が失敗した場合
16
+
17
+ IndexOutOfBoundsException - 指定されたインデックスを持つ前方参照を行う正規表現グループがそのパターンに含まれない場合
18
+
19
+
20
+
21
+ try,catchで例外の内容を見ればだいたいの理由はわかると思いますので同じような事が起こったときには活用してみるとよいかと思います。

1

強調

2017/05/03 14:29

投稿

shiroyuki
shiroyuki

スコア169

test CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
 
4
4
 
5
- Matcherのリファレンスをみればわかりますが、group()は前回のマッチ処理の結果を取得するものですので検索処理自体を行うものではありません。
5
+ Matcherのリファレンスをみればわかりますが、group()は**前回のマッチ処理の結果を取得する**ものですので検索処理自体を行うものではありません。
6
6
 
7
- 検索を行っていなければ結果は取得できませんのでfind()等検索後でなければ例外を出すことになります。
7
+ **検索を行っていなければ結果は取得できません**のでfind()等を使用した検索後でなければ例外を出すことになります。