質問編集履歴

1

誤字の訂正、追記

2021/12/22 08:46

投稿

suteaka
suteaka

スコア13

test CHANGED
File without changes
test CHANGED
@@ -6,11 +6,13 @@
6
6
 
7
7
  javaで正規表現による文字列の抽出を行い、変換するコードを書いています。
8
8
 
9
- 例えば「6(iztn6(4i))」について、アルファベットの前の数字はアルファベットを数字分繰り返し、()でくくられているものは()の中身を数字分繰り返したいです。「6(iztn6(4i))」の場合、期待される答えは「iztniiiiiiiiiztniiiiiiiiiztniiiiiiiiiztniiiiiiiiiztniiiiiiiiiztniiiiiiii」となります。
9
+ 例えば「6(iztn2(4i))」について、アルファベットの前の数字はアルファベットを数字分繰り返し、()でくくられているものは()の中身を数字分繰り返したいです。「6(iztn2(4i))」の場合、期待される答えは
10
+
10
-
11
+ 「iztniiiiiiiiiztniiiiiiiiiztniiiiiiiiiztniiiiiiiiiztniiiiiiiiiztniiiiiiii」となります。
11
-
12
-
12
+
13
+
14
+
13
- しかしながら提供したコードで実行すると、返答は「6(iztn6(iiii))」となってしまいます。
15
+ しかしながら提供したコードで実行すると、返答は「6(iztn2(iiii))」となってしまいます。
14
16
 
15
17
  コード内のコメント「ここまでは正しいコード」までのコードは正しいと思われますが、その後の正規表現で何か不具合が起きていると思われます。何が間違っているのでしょうか。
16
18
 
@@ -198,7 +200,7 @@
198
200
 
199
201
  「6(iztn6(4i))6(qq2(ai))」で試した場合「6(iztn6(iiii))qqaiaiqqaiaiqqaiaiqqaiaiqqaiaiqqaiai」となりました。
200
202
 
201
- なぜか最初の()つきのやつだけ拾ってくれないような感じです。
203
+ "))"の連続が悪さをしているのかと思ったのですがそうでもく、なぜか最初の()つきのやつだけ拾ってくれないような感じです。
202
204
 
203
205
 
204
206