言語処理100本ノックの、23問目の問題の正規表現が理解できません。
==脚注==
{{脚注ヘルプ}}
{{Reflist|2}}
==関連項目==
*[[イギリス関係記事の一覧]]
==外部リンク==
{{ウィキポータルリンク|イギリス}}
…
…
上の様な文章に含まれるセクション名とそのレベル(例えば”== セクション名 ==”なら1)を表示せよ.
という問題で、
python
1pattern = r'^(\={2,})\s*(.+?)\s*(\={2,}).*$' 2result = '\n'.join(i[1] + ':' + str(len(i[0]) - 1) for i in re.findall(pattern, text_uk, re.MULTILINE)) 3print(result)
これで、
text
1モータースポーツ:3 2野球:3 3カーリング:3 4自転車競技:3 5脚注:1 6関連項目:1 7外部リンク:1 8```こうなるそうなのですが、自分はpatternのところを、 9```python 10pattern = r'^(\={2,})(.+?)(\={2,}).*$'
でやったのですが、これだと
text
1モータースポーツ:3 2野球:3 3 カーリング :3 4 自転車競技 :3 5脚注:1 6関連項目:1 7外部リンク:1
の様に空白が入ってしまいます。\s が空白を表しているのは調べたのですが、いまいち回答の正規表現が理解できませんでした。どなたか、解説していただけないでしょうか。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/07 14:18