回答編集履歴

1

追加質問の回答

2021/01/31 23:58

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -39,3 +39,63 @@
39
39
  ```
40
40
 
41
41
  あとは、patternを増やしていってください。
42
+
43
+
44
+
45
+ 追加の質問について
46
+
47
+
48
+
49
+ プログラムの17行目という意味だと思います。
50
+
51
+ *は特殊文字なので、エスケープしないとこのメッセージが出ます。
52
+
53
+ ```python
54
+
55
+ >>> re.sub(r'*', '', 'abc')
56
+
57
+ Traceback (most recent call last):
58
+
59
+ File "<stdin>", line 1, in <module>
60
+
61
+ File "C:\Users\shinp\anaconda3\lib\re.py", line 210, in sub
62
+
63
+ return _compile(pattern, flags).sub(repl, string, count)
64
+
65
+ File "C:\Users\shinp\anaconda3\lib\re.py", line 304, in _compile
66
+
67
+ p = sre_compile.compile(pattern, flags)
68
+
69
+ File "C:\Users\shinp\anaconda3\lib\sre_compile.py", line 764, in compile
70
+
71
+ p = sre_parse.parse(p, flags)
72
+
73
+ File "C:\Users\shinp\anaconda3\lib\sre_parse.py", line 948, in parse
74
+
75
+ p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
76
+
77
+ File "C:\Users\shinp\anaconda3\lib\sre_parse.py", line 443, in _parse_sub
78
+
79
+ itemsappend(_parse(source, state, verbose, nested + 1,
80
+
81
+ File "C:\Users\shinp\anaconda3\lib\sre_parse.py", line 668, in _parse
82
+
83
+ raise source.error("nothing to repeat",
84
+
85
+ re.error: nothing to repeat at position 0
86
+
87
+ ```
88
+
89
+ これは、
90
+
91
+ ```python
92
+
93
+ >>> re.sub(r'*', '', 'abc')
94
+
95
+ 'abc'
96
+
97
+ ```
98
+
99
+ と修正すれば大丈夫です。
100
+
101
+ 他にも、特殊文字があるので[re --- 正規表現操作](https://docs.python.org/ja/3/library/re.html)のページ内で「特殊文字」で検索してよく読んでください。