teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/02/08 13:32

投稿

otn
otn

スコア86360

answer CHANGED
@@ -11,4 +11,14 @@
11
11
  print(each2.groups())
12
12
  ```
13
13
 
14
- 1つの正規表現で、出来るかもしれないけど、出来たとしても読解困難になることは間違いなさそうです。
14
+ 1つの正規表現で、出来るかもしれないけど、出来たとしても読解困難になることは間違いなさそうです。
15
+ #追記
16
+ それほど読解困難じゃなくて出来た気がします。質問文のデータでしかテストしてませんが。
17
+ ```Python
18
+ result = re.finditer(
19
+ r'<item>((?:(?!</item>).)+?)</item>(?:(?!<item>).)+?<color>(.+?)</color>'
20
+ ,menu
21
+ ,flags=re.DOTALL)
22
+ for each in result:
23
+ print(each.groups())
24
+ ```