簡體   English   中英

.NET Regex分組:從組中排除字符串

[英].NET Regex Grouping: Exclude String from group

當我在.NET中使用正則表達式時

(.+) (cb|b)

我有一個像“somestring cb”這樣的字符串我總是在第一組中獲得“somestring c”而在第二組中獲得“b”。

我希望在第一組中獲得“somestring”,在第二組中獲得“cb”。

任何的想法?

(.+?) (c b|b)

? 是惰性限定符,它表示匹配滿足整個正則表達式所需的最小字符數。

這是他們的網格和更多細節

一個簡單的解決方案是通過在加號后添加問號使第一組不情願,如下所示:

(.+?) (c b|b)

如果沒有它,它將不會貪婪並且盡可能多地匹配有效字符,在您的情況下,這意味着匹配第一組中的c。

在括號內放置您想要匹配的內容,並在可接受的匹配項之間加上“或”符號。 例如,這個RegEx應該可以做到這一點:

(.+ b|b)

如下所示

(.+[^c]) (c b|b)

演示

暫無
暫無

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

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