回答編集履歴

4

説明追記

2022/10/08 14:28

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,5 +1,7 @@
1
1
  正規表現のパターンを増やすといいですよ。
2
+ `u"..."`はunicode文字列ですが、Python3ではunicode文字列が標準なので`u`指定は不要です。
3
+ 正規表現文字列でバックスラッシュを使う場合は raw文字列の `r"..."` にします。
2
- と、re.compile は事前に用意しておくものなので、都度検索するなら re.search で十分です。
4
+ それと、re.compile は事前に用意しておくものなので、都度検索するなら re.search で十分です。
3
5
 
4
6
  ```py
5
7
  import re

3

プログラム修正(正規表現文字列はr"...")

2022/10/08 14:22

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -7,8 +7,8 @@
7
7
  text1 = "東京の天気は?"
8
8
  text2 = "東京の2時間後の天気は?"
9
9
 
10
- match1 = re.search(u"(.+)の天気は?", text1)
10
+ match1 = re.search(r"(.+)の天気は?", text1)
11
- match2 = re.search(u"(.+)の(\d*時間後)の天気は?", text2)
11
+ match2 = re.search(r"(.+)の(\d*時間後)の天気は?", text2)
12
12
  print('match1:', match1[1])
13
13
  print('match2:', match2[1], match2[2])
14
14
  ```

2

プログラム修正

2022/10/08 13:51

投稿

shiracamus
shiracamus

スコア5406

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*)時間後の天気は?", text2)
11
+ match2 = re.search(u"(.+)の(\d*時間後)の天気は?", text2)
12
12
  print('match1:', match1[1])
13
13
  print('match2:', match2[1], match2[2])
14
14
  ```

1

実行結果追記

2022/10/08 13:46

投稿

shiracamus
shiracamus

スコア5406

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
+