<p>只需用换行符重绘<code>B</code>或<code>C</code>或<code>D</code><code>.</code>之前的空格。你知道吗</p>
<pre><code>re.sub(r'\s+(?=[BCD]\.)', '\n', s)
</code></pre>
<p><a href="https://regex101.com/r/nC1wN3/1" rel="nofollow">DEMO</a></p>
<p><strong>示例:</strong></p>
<pre><code>>>> s = '''14.下列牙齒外傷,何者最易發生牙髓壞死?
A.震盪(concussion)
B.半脫臼(subluxation)
C.凸出性脫位(extrusive luxation)
D.內縮性脫位(intrusive luxation)
15 .藥物在正常使用下,何種藥品對
Enterococcus faecalis 的殺菌效果通常最快?
A.2.5%次氯酸鈉(NaOCl) B.0.5%chlorhexidine C.2%iodine/4%potassium iodide D.氫氧化鈣(Ca(OH)2)
16 .有關根管治療時使用EDTA移除塗抹層(smear layer)之敘述,下列何者錯誤?
A.臨床上常使用的EDTA濃度為27% B.其作用為EDTA與牙本質碎屑中的鈣離子螯合(chelating),來幫助移除塗抹層 C.EDTA可深入牙本質小管約50µm D.EDTA與次氯酸鈉(NaOCl)併用可移除塗抹層'''
>>> print(re.sub(r'\s+(?=[BCD]\.)', '\n', s))
14.下列牙齒外傷,何者最易發生牙髓壞死?
A.震盪(concussion)
B.半脫臼(subluxation)
C.凸出性脫位(extrusive luxation)
D.內縮性脫位(intrusive luxation)
15 .藥物在正常使用下,何種藥品對
Enterococcus faecalis 的殺菌效果通常最快?
A.2.5%次氯酸鈉(NaOCl)
B.0.5%chlorhexidine
C.2%iodine/4%potassium iodide
D.氫氧化鈣(Ca(OH)2)
16 .有關根管治療時使用EDTA移除塗抹層(smear layer)之敘述,下列何者錯誤?
A.臨床上常使用的EDTA濃度為27%
B.其作用為EDTA與牙本質碎屑中的鈣離子螯合(chelating),來幫助移除塗抹層
C.EDTA可深入牙本質小管約50µm
D.EDTA與次氯酸鈉(NaOCl)併用可移除塗抹層
</code></pre>