実現したいこと・試したこと
{'value': '<h1>Title</h1><p>このページは2020.6.9に更新されました。</p><p><small>small text</small></p><h1 class="change">2020.6.9</h1>', 'representation': 'storage', '_expandable': {'content': '/rest/api/content/127505381'}}, '_expandable': {'editor': '', 'view': '', 'export_view': '', 'styled_view': '', 'anonymous_export_view': ''}}, 'extensions': {'position': 'none'},
上のような内容のjsonオブジェクトがあり(一部を抜粋しています)、その中から
<h1 class="change">2020.6.9</h1>
の部分のみを文字列として取り出したいです。
2020.6.9 の部分は毎回異なるので、正規表現を使おうと考えました。
まずjsonオブジェクトをdumpsでstringオブジェクトに変換してprintで出力してみると、該当箇所は以下のようなテキストになっていました。
<h1>Title</h1><p>このページは2020.6.9に更新されました。</p><p><small>small text</small></p><h1 class=\"change\">2020.6.9</h1>したがって、以下の処理を行いました。
regex = re.compile(r'<h1 class=\"change\">([0-9]+).([0-9]+).([0-9]+)</h1>') m = re.search(regex, page_string).group() print(m)
発生している問題・エラーメッセージ
以下のようなエラーが出ました。
m = re.search(regex, page_string).group() AttributeError: 'NoneType' object has no attribute 'group'
re.searchで該当箇所を見つけられなかったようで、正規表現のあたりが間違っているのかと思いいろいろと試したのですが、歯が立ちませんでした。どなたか間違いを指摘してくだされば幸いです。
補足
こちらが走査対象のpage_string全文です。
{"id": "127505381", "type": "page", "status": "current", "title": "test page", "body": {"storage": {"value": "<h1>Title</h1><p>このページは2020.6.9に更新されました。</p><p><small>small text</small></p><h1 class="change">2020.6.9</h1>", "representation": "storage", "_expandable": {"content": "/rest/api/content/127505381"}}, "_expandable": {"editor": "", "view": "", "export_view": "", "styled_view": "", "anonymous_export_view": ""}}, "extensions": {"position": "none"}, "_links": {"webui": "/display/department0056/test+page", "edit": "/pages/resumedraft.action?draftId=127505381&draftShareId=7e63c067-9cd4-4b97-8de2-88e0ffea07f5", "tinyui": "/x/5ZOZBw", "collection": "/rest/api/content", "base": "https://hogehoge.fuga.jp:8090", "context": "", "self": "https://hogehoge.fuga.jp:8090/rest/api/content/127505381"}, "_expandable": {"container": "/rest/api/space/department0056", "metadata": "", "operations": "", "children": "/rest/api/content/127505381/child", "restrictions": "/rest/api/content/127505381/restriction/byOperation", "history": "/rest/api/content/127505381/history", "ancestors": "", "version": "", "descendants": "/rest/api/content/127505381/descendant", "space": "/rest/api/space/department0056"}}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。