簡體   English   中英

什么是提取我的子串的正確RegEx

[英]What is the correct RegEx to extract my substring

我有這樣的輸入字符串

$(xx.xx.xx)abcde$(yyy.yyy.yyy)fghijk$(zzz.zz.zz.zzz)

我希望能夠提取匹配$(這里的任何內容)的字符串的每個子集,因此對於上面的示例,我希望獲得3個子字符串。 方括號之間的字符不一定總是匹配相同的模式。

我嘗試使用以下正則表達式

(\$\([a-z]+.*\))

但這會匹配整個字符串,因為它以'$'開頭,中間是任何東西,並以')'結尾

希望這是有道理的。 我還應該指出,我使用正則表達式的經驗非常有限。

謝謝

(\$\([a-z]+.*?\))

使用? 使您的搜索不貪心。 *是貪婪的,它會消耗最大的能量? *使它非貪婪,它會在第一時間停止)

參見演示。

http://regex101.com/r/sU3fA2/28

試試下面

 \((.*?)\)\g

對於給定的字符串$(xx.xx.xx)abcde $(yyy.yyy.yyy)fghijk $(zzz.zz.zz.zzz),它返回三個子字符串。

MATCH 1
1.  [2-10]  `xx.xx.xx`
MATCH 2
1.  [18-29] `yyy.yyy.yyy`
MATCH 3
1.  [38-51] `zzz.zz.zz.zzz`

http://regex101.com/r/bX7qR2/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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