![](/img/trans.png)
[英]Implementing a Negative Lookahead in Regex to exclude a block of code if it contains a certain string
[英]Regex lookahead logical 'OR' - to exclude certain patterns
我已經看到了很多密碼驗證示例,它們執行邏輯與。 例如,密碼必須具有
可以使用正則表達式“正向提前”編寫為:
var includePattern = @"^(?=.*\d)(?=.*[a-zA-z]).{6,15}$";
bool tfMatch = Regex.IsMatch("Password1", includePattern); //
if (tfMatch)
//continue... valid thus far...
我的問題是,我想排除某些組或模式,實質上是進行邏輯“或”運算。 例如,假設我要匹配(以便在以下任一情況為真時使密碼無效):
在excludePattern上尋求幫助。 否定的前瞻性?
var excludePattern = @"^( ...xxx... $"; //<== **** what goes in here??
bool tfMatch = Regex.IsMatch("Pass 666 word", excludePattern); //
if (tfMatch)
//DONT continue... contains excluded
我正在使用C#正則表達式,但是任何口味都可以開始。
就像您可以使用多個正向前行檢查字符串是否滿足多個正向模式一樣,您可以在負向前行備用行中交替顯示以檢查該字符串中是否沒有匹配的前向行行。 例如,對於您
至少找到一個(或)空間
至少找到一個單引號(OR)
至少找到一個雙引號(OR)
野獸的字符串“ 666”
您可以使用
^(?!.* |.*'|.*"|.*666)<rest of your pattern>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.