[英]Using recursive regex to break a list
我第一次嘗試使用遞歸正則表達式來拆分列表中的項目,但遇到多個匹配項時遇到了麻煩。
我有一個字符串,例如array(string,boolean)
。 我想從內部提取string
和boolean
,所以有這個正則表達式:
array\((?:([a-z]+)[,\S]*)(?:(?R)|\))
使用regex101.com進行測試時,我成功匹配了string
,但是沒有匹配boolean
。 我試圖四處走動,以防分組方式錯誤。
我想知道我哪里出錯了的建議? 還是我誤解了遞歸正則表達式的工作原理?
為了幫助: https : //regex101.com/r/Vkmvr0/2
如果我猜對了,您可能會選擇的另一種選擇是使用環顧四周,例如使用類似於以下內容的表達式:
(?<=\(|,)[^\r\n,)]*(?=,|\))
如果您想瀏覽/簡化/修改該表達式,請在regex101.com的右上方面板中進行說明 。 如果願意,您還可以在此鏈接中觀看,它將如何與某些示例輸入匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.