teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2018/09/17 13:08

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,6 +1,28 @@
1
1
  re.matchは**先頭一致**です。
2
2
  文中の語を正規表現で見つけたいなら、re.searchを使ってください。
3
+ ```Python
4
+ import re
3
5
 
6
+ pattern = re.compile(r'.')
7
+ if re.search(pattern, '3.1'):
8
+ print('1stTry 3.1')
9
+ if re.search(pattern, '4'):
10
+ print('1stTry 4')
11
+
12
+ pattern = re.compile(r'.')
13
+ if re.search(pattern, '3.1'):
14
+ print('2ndTry 3.1')
15
+ if re.search(pattern, '4'):
16
+ print('2ndTry 4')
17
+ ```
18
+
19
+ **実行結果** [Wandbox](https://wandbox.org/permlink/45ADBcnsrUfamYAG)
20
+ ```
21
+ 1stTry 3.1
22
+ 1stTry 4
23
+ 2ndTry 3.1
24
+ ```
25
+
4
26
  ---
5
27
  以下の内容は直接的な要因ではありませんでしたが、
6
28
  エスケープの要不要の判断を避けるためにraw文字列を使うのが一般的です。

3

修正

2018/09/17 13:08

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,11 +1,12 @@
1
1
  re.matchは**先頭一致**です。
2
2
  文中の語を正規表現で見つけたいなら、re.searchを使ってください。
3
3
 
4
- 修正前の回答
5
4
  ---
6
5
  以下の内容は直接的な要因ではありませんでしたが、
7
6
  エスケープの要不要の判断を避けるためにraw文字列を使うのが一般的です。
8
7
 
8
+ 修正前の回答
9
+ ---
9
10
  > かといって、'.'にすると、ピリオドも検出されなくなります。
10
11
  > ```Python
11
12
  pattern = re.compile('.')

2

修正

2018/09/17 13:06

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,12 +1,18 @@
1
1
  re.matchは**先頭一致**です。
2
2
  文中の語を正規表現で見つけたいなら、re.searchを使ってください。
3
3
 
4
+ 修正前の回答
5
+ ---
6
+ 以下の内容は直接的な要因ではありませんでしたが、
7
+ エスケープの要不要の判断を避けるためにraw文字列を使うのが一般的です。
8
+
4
9
  > かといって、'.'にすると、ピリオドも検出されなくなります。
5
10
  > ```Python
6
11
  pattern = re.compile('.')
7
12
  > ```
8
13
 
9
14
  ややこしいことに、**バックスラッシュ自体のエスケープ**も必要です。
15
+ **追記: ドットに関しては不要なようでした。**
10
16
  ```Python
11
17
  pattern = re.compile('\.')
12
18
  ```

1

追記

2018/09/17 13:06

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,3 +1,6 @@
1
+ re.matchは**先頭一致**です。
2
+ 文中の語を正規表現で見つけたいなら、re.searchを使ってください。
3
+
1
4
  > かといって、'.'にすると、ピリオドも検出されなくなります。
2
5
  > ```Python
3
6
  pattern = re.compile('.')