簡體   English   中英

RegEx捕獲兩個定界符之間的文本,包括“ shared”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM