回答編集履歴
4
説明追記
test
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
正規表現のパターンを増やすといいですよ。
|
2
|
+
`u"..."`はunicode文字列ですが、Python3ではunicode文字列が標準なので`u`指定は不要です。
|
3
|
+
正規表現文字列でバックスラッシュを使う場合は raw文字列の `r"..."` にします。
|
2
|
-
|
4
|
+
それと、re.compile は事前に用意しておくものなので、都度検索するなら re.search で十分です。
|
3
5
|
|
4
6
|
```py
|
5
7
|
import re
|
3
プログラム修正(正規表現文字列はr"...")
test
CHANGED
@@ -7,8 +7,8 @@
|
|
7
7
|
text1 = "東京の天気は?"
|
8
8
|
text2 = "東京の2時間後の天気は?"
|
9
9
|
|
10
|
-
match1 = re.search(
|
10
|
+
match1 = re.search(r"(.+)の天気は?", text1)
|
11
|
-
match2 = re.search(
|
11
|
+
match2 = re.search(r"(.+)の(\d*時間後)の天気は?", text2)
|
12
12
|
print('match1:', match1[1])
|
13
13
|
print('match2:', match2[1], match2[2])
|
14
14
|
```
|
2
プログラム修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
text2 = "東京の2時間後の天気は?"
|
9
9
|
|
10
10
|
match1 = re.search(u"(.+)の天気は?", text1)
|
11
|
-
match2 = re.search(u"(.+)の(\d*
|
11
|
+
match2 = re.search(u"(.+)の(\d*時間後)の天気は?", text2)
|
12
12
|
print('match1:', match1[1])
|
13
13
|
print('match2:', match2[1], match2[2])
|
14
14
|
```
|
1
実行結果追記
test
CHANGED
@@ -13,3 +13,8 @@
|
|
13
13
|
print('match2:', match2[1], match2[2])
|
14
14
|
```
|
15
15
|
|
16
|
+
```text:実行結果
|
17
|
+
match1: 東京
|
18
|
+
match2: 東京 2時間後
|
19
|
+
```
|
20
|
+
|