簡體   English   中英

如何在C#正則表達式中執行AND運算符

[英]How to perform AND operator in a C# regex

我有兩個用於不同目的的正則表達式。

^(?:(?!(?:abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz|012|123|234|345|456|567|678|789|(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)'\'1{2})).)

此正則表達式用於控制字符串不能包含3個連續字符,例如abc123

^['\'x20-\x7E]+$

這個正則表達式用於控制字符串不能包含非英語字符,例如şüığ ,...

我想將這兩個規則結合起來。 他們兩個都必須執行。 我試圖在它們之間添加AND運算符,但不允許。

我怎樣才能做到這一點? &的正則表達式替代中是否有任何運算符? 如果沒有,我該如何以不同的方式完成這項工作?

編輯:有人無法理解我的問題,所以我決定詳細解釋。

(^(((?:abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz|012|123|234|345|456|567|678|789|(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)'\'1{2})).)*|^['\'x20-\x7E]+$)

您可以從https://regex101.com/嘗試使用此正則表達式

這不是我想要的方式。 不允許連續3個字符,但不能檢查非英語字符。 例如,如果您鍵入ğğğ,那將被接受。 我放| 他們之間的運算符。 我知道錯了。 我必須放置AND運算符,但不知道如何在正則表達式中使用AND運算符? 這實際上是主要問題。

您可以使用以下內容:

^(?!.*(?:abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz|012|123|234|345|456|567|678|789|([\da-z])\1{2}))[\x20-\x7E]+$

正則表達式可視化

演示

暫無
暫無

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

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