お世話になります。
【ご質問】
問題点にあるソースコードで<取得したい文字列>を取得したいです。
【質問背景】
テキスト内から就業時間を取得する正規表現を作っています。
<取得したい文字列>
"9:00-22:00 (12h)"
下記ソースコードではうまく取得できました。
python
1import re 2text_body = "9:00-22:00 (12h)" 3worktime_regex = re.compile(r'(\d){1,2}:(\d){2}( )?-( )?(\d){1,2}:(\d){2}( )?((\d)+(.\d)?h)') 4worktime = worktime_regex.search(text_body) 5 6print(worktime)
【問題点】
上記ではうまくいくのですが、こちらをVERBOSEできれいに表現しようとするとうまく文字列を取得できません。
python
1import re 2text_body = "9:00-22:00 (12h)" 3worktime_regex = re.compile(r'''( 4 (\d){1,2}:(\d){2} #始業時刻 5 ( )?-( )?#始業と終業の間(半角スペース対応) 6 (\d){1,2}:(\d){2} #終業時刻 7 ( )? 8 ( 9 (\d)+(.\d)?h) #実働時間 10 )''',re.VERBOSE) 11worktime = worktime_regex.search(text_body) 12print(worktime) 13
【試したこと】
下記ではそれぞれ取得できることは確認できております。
python
1worktime_regex = re.compile(r'''( 2 (\d){1,2}:(\d){2} #始業時刻 3 ( )?-( )?#始業と終業の間(半角スペース対応) 4 (\d){1,2}:(\d){2} #終業時刻 5# ( )? 6# ( 7# (\d)+(.\d)?h) #実働時間 8 )''',re.VERBOSE) 9
python
1worktime_regex = re.compile(r'''( 2# (\d){1,2}:(\d){2} #始業時刻 3# ( )?-( )?#始業と終業の間(半角スペース対応) 4# (\d){1,2}:(\d){2} #終業時刻 5 ( )? 6 ( 7 (\d)+(.\d)?h) #実働時間 8 )''',re.VERBOSE) 9
お手数ですがご助力のほどよろしくお願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/09 09:21