簡體   English   中英

正則表達式匹配字符串,但不匹配

[英]regex match string but not another

我有以下兩個字符串

/signon/default.wl?rs=WLW11.10&vr=2.0&fn=_top
/signon/default.wl?fn=%5Ftop&newdoor=true&rs=WLW11%2E10&vr=2%2

我想匹配所有不包含newdoor的字符串

到目前為止,我有以下正則表達式

/signon/default.wl\\?(?=[\\w]*)(?!newdoor)

但它匹配所有字符串。 誰能指出我做錯了什么。

您可以嘗試使用此/signon/default.wl\\?(?!.*newdoor).*

它使用否定的前瞻斷言在輸入字符串中沒有出現newdoor 代碼將如下所示

resultString = Regex.Match(subjectString, @"/signon/default.wl\?(?!.*newdoor).*", 
               RegexOptions.IgnoreCase).Value;
/signon/default.wl\?(?=[\w]*)(?!newdoor)

(?=)(?!)都是零寬度的斷言,不占用任何輸入。 嘗試:

/signon/default.wl\?(.(?!newdoor))*$

為什么不使用這樣的東西:

subjectString.contains("newdoor");

暫無
暫無

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

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