[英]RegEx to capture text between two delimiter characters including 'shared'
如果我有以下文字...
The quick :brown:fox: jumped over the lazy :dog:.
我想正則表達式來捕獲所有那些2之間的話:
字符。 在上面的示例中,它應返回:brown:
, :fox:
, :dog:
到目前為止,我有這個(\\:{1}.\\w*\\s*\\:{1})
返回了:brown:
和:dog:
我不太清楚如何在兩個匹配的組之間共享 :
,以便它也將返回':fox:'
。
這是可以使用的簡單模式:
(?<=:)(\w+)(?=:)
這使用環顧四周來確保一個或多個單詞字符前后用冒號括起來。 查看下面的演示以查看其工作原理。
匹配項將作為第一個捕獲組。 實際上,它也應該作為整個比賽本身可用,因為環顧四周不會消耗任何東西。
我喜歡上面的環顧四周方法,因為它干凈簡潔(至少在我看來)。 如果由於某種原因您不希望任何環顧四周,請使用以下模式:
:(\w+):
但是請注意,現在您必須顯式地訪問第一個捕獲組才能獲得匹配的單詞,而在單詞的兩邊都沒有冒號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.