어학 처리 100번 쳐봐요. 23.

4023 단어 Python3

23. 지역 구조


기사에 포함된 영역 이름과 해당 레벨을 표시합니다(예: "==영역 이름=="의 경우 1).
import gzip
import json
import re
frame = "jawiki-country.json.gz"

def extract_UK():

  with gzip.open(frame,"rt") as data_file:
    for line in data_file:
      data_json = json.loads(line)
      if data_json["title"] == "イギリス":
        return data_json["text"]
  raise ValueError("イギリスの記事ないわ")


pattern = re.compile(r'''
    ^       # 行頭
    (={2,}) # キャプチャ対象、2個以上の'='
    \s*     # 余分な0個以上の空白('哲学'や'婚姻'の前後に余分な空白があるので除去)
    (.+?)   # キャプチャ対象、任意の文字が1文字以上、非貪欲(以降の条件の巻き込み防止)
    \s*     # 余分な0個以上の空白
    \1      # 後方参照、1番目のキャプチャ対象と同じ内容
    .*      # 任意の文字が0文字以上
    $       # 行末
    ''', re.MULTILINE + re.VERBOSE)

result=pattern.findall(extract_UK())

for line in result:
  level = len(line[0])-1
  print("{indent}{sect}({level})".format(indent="\t"*(level-1),sect=line[1],level=level))
결과 내보내기

분계선

좋은 웹페이지 즐겨찾기