CALENDAR
S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 
<< June 2017 >>
閲覧数の多い順
スポンサーサイト

一定期間更新がないため広告を表示しています

| - | | - | - | 編集 |
Pythonで正規表現に日本語を使用する。

Pythonファイルでは、UTF-8からユニコード(UCS-2)にエンコードさせるので、以下をPythonスクリプトファイルの先頭に記述。

# -*- coding: utf-8 -*-

Pythonコンソールでの表示テスト

>>> import re

===== 日付 =====

>>> popi =re.findall(unicode("¥d¥d日","euc_jp"),unicode("03日(月)の天気は晴れ、最高気温は19℃ 最低気温は10℃でしょう。","euc_jp"))
>>> print popi[0]
03日

===== 曜日 =====

>>> popi =re.search(unicode("(?<=()[月火水木金土日]","euc_jp"),unicode("10日(月)の天気は晴時々曇、最高気温は6℃ 最低気温は-2℃でしょう。","euc_jp"))
>>> print popi.group(0)

===== 日付と曜日 =====

>>> popi =re.search(unicode("¥d¥d日([月火水木金土日])","euc_jp"),unicode("04日(火)の天気は晴のち雨最低気温は10℃でしょう。
","euc_jp"))
>>> print popi.group(0)
04日(火)

===== 最高気温 =====

>>> popi =re.findall(unicode("最高気温は¥d¥d","euc_jp"),unicode("03日(月)の天気は晴れ、最高気温は19℃ 最低気温は10℃でしょう。
","euc_jp"))
>>> print popi[0]
最高気温は19

>>> popi =re.search(unicode("(?<=最高気温は)¥d¥d","euc_jp"),unicode("03日(月)の天気は晴れ、最高気温は19℃ 最低気温は10℃でしょう。
","euc_jp"))
>>> print popi.group(0)
19

? : 直前の正規表現に一致する文字があるかないかわからない場合に使用します。つまり、その正規表現が 0 回または 1 回出現するものと一致します。たとえば、[0-9][0-9]? と指定した場合、"2" と "12" のいずれにも一致します。

>>> popi =re.search(unicode("(?<=最高気温は)¥d¥d?","euc_jp"),unicode("10日(月)の天気は晴時々曇、最高気温は6℃ 最低気温は-2℃でしょう。","euc_jp"))
>>> print popi.group(0) 6

>>> popi =re.search(unicode("(?<=最高気温は)-?¥d?¥d","euc_jp"),unicode("10日(月)の天気は晴時々曇、最高気温は6℃ 最低気温は-2℃でしょう。","euc_jp"))
>>> print popi.group(0)
6

===== 最低気温 =====

>>> popi =re.search(unicode("(?<=最低気温は)-?¥d?¥d","euc_jp"),unicode("10日(月)の天気は晴時々曇、最高気温は6℃ 最低気温は-2℃でしょう。","euc_jp"))
>>> print popi.group(0)
-2

>>> rexplowtemp =re.compile(unicode("(?<=最低気温は)-?¥d?¥d","euc_jp")) >>> lowtemp = rexplowtemp.search(unicode("10日(月)の天気は晴時々曇、最高気温は6℃ 最低気温は-2℃でしょう。","euc_jp"))
>>> lowtemp.group(0)
u'-2'

参考:
| python | 22:27 | comments(0) | trackbacks(0) | 編集 |
| 1/1PAGES |