我写了一个正则表达式,将选项分成新行,
(?P<qn>^\d+)\s*?\.(?P<qt>.*?)\s*?(?P<A>A\s*?\..*?)\n*?(?P<B>B\s*?\..*?)\n*?(?P<C>C\s*?\..*?)\n*?(?P<D>D\s*?\..*?)\n*(?=\Z)
请参阅https://www.regex101.com/r/hP0nX4/2
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)併用可移除塗抹層
第14号问题格式正确,No.15&amp; 16不是。
我的正则表达式只匹配一个问题,我怎样才能使它匹配所有问题。 并将所有选择分成新的一行?
我的预期输出是:
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)併用可移除塗抹層
答案 0 :(得分:3)
只需使用换行符再现B
或C
或D
.
之前的空格。
re.sub(r'\s+(?=[BCD]\.)', '\n', s)
示例:强>
>>> 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)併用可移除塗抹層
答案 1 :(得分:1)
之前有一个换行符&#34; Enterococcus&#34;与.
不匹配您可以添加修饰符s
以使.
也匹配换行符。
请注意,换行符仍会出现在结果中。