[問題] 把題目卷的題目及選項當成一組取出來
看板RegExp (正規表示式 Regular Expression)作者art1 (人,原來不是人)時間7年前 (2017/06/10 18:50)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/1
用的語言是 javascript,實驗平台是 http://regexr.com/
目前以下面的寫法可以做到想要的效果
^[0-9]{1,3}\. ([A-E]{1,2})((?!^A).+\n)*((^[A-EP]\.(.+\n))+)
^^^^^^^^^^^^^^^^^^^^
這裡開始是處理選項的部分
前面那段是處理題目的部分
但真正的問題是出在 [A-EP] 裡面的 P,因為 A~D 或 E 選項裡面有時會混入一行 P.數字
像是 A. xxxxx
P.2
B. sssss
C. aaaaa
如果要把四或五個選項當成同一組輸出的話,目前想不到方法可以排除 P 那行
試過 ?!^P 或是 ?:(?!^P) 都沒成功過,而 javascript 又不支援 ?<! 的樣子
想問的是像這種想把得到的多行字串用()包起來當成一組輸出的時候,若中間又混著不想
要的一行內容時,只剩下分成兩步驟處理的方法嗎?
也就是先把 P.數字找出來刪掉,再去篩選剩下的內容
我知道還有其它替代方法,像是先直接篩出所有選項,然後再寫程式去幫這些選項分組
但還是想先問看看是否可以純靠正規表達式來完成這項任務
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.121.187.206
※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1497091829.A.C92.html
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章