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

質問編集履歴

3

タグ削除

2021/03/17 02:31

投稿

salmonosushi
salmonosushi

スコア19

title CHANGED
File without changes
body CHANGED
File without changes

2

間違いを修正

2021/03/17 02:31

投稿

salmonosushi
salmonosushi

スコア19

title CHANGED
File without changes
body CHANGED
@@ -12,8 +12,9 @@
12
12
  finditerで、正規表現に一致する文字列のオブジェクトを取得し、
13
13
  日付形式の始まる開始インデント、終了インデントを取得する処理を行っています。
14
14
 
15
+
15
16
  pattern = '[\d{4}/\d{2}/\d{2} '
16
- result = re.finditer(pattern, body)
17
+ result = re.finditer(pattern, '2021/03/160 あいうえお')
17
18
  indents = list(m.span() for m in result )
18
19
 
19
20
  なので完全一致では取得できない認識です。

1

実現したいことの詳細を追加

2021/03/16 11:09

投稿

salmonosushi
salmonosushi

スコア19

title CHANGED
File without changes
body CHANGED
@@ -5,4 +5,15 @@
5
5
 
6
6
  すると、2021/03/160 (日付が3文字以上)も正規表現に引っ掛かってしまいます。
7
7
  これを回避する手段を、ご存知の方がいらっしゃいましたら、教えていただきたいです。
8
- よろしくお願いいたします。
8
+ よろしくお願いいたします。
9
+
10
+ 追記です。
11
+ チェックする文字列は、YYYY/MM/DD 以外にも文字が含まれています。
12
+ finditerで、正規表現に一致する文字列のオブジェクトを取得し、
13
+ 日付形式の始まる開始インデント、終了インデントを取得する処理を行っています。
14
+
15
+ pattern = '[\d{4}/\d{2}/\d{2} '
16
+ result = re.finditer(pattern, body)
17
+ indents = list(m.span() for m in result )
18
+
19
+ なので完全一致では取得できない認識です。