簡體   English   中英

我如何才能拒絕正則表達式模式中的一個字符串

[英]How can I deny only one string from a regex pattern

我正在使用正則表達式模式進行十六進制顏色驗證,並正在https://regex101.com上對其進行測試。

問題是我不希望白色- #FFFFFF被視為有效選擇。

我嘗試了這個:

^#(?= [A-Fa-f0-9] {6} | [A-Fa-f0-9] {3})((?! FFFFFF)。)* $

和#FFFFFF被認為不是我想要的有效,但是現在我得到了

#FFFasdfsdfg

或這個

#F00

作為有效的十六進制顏色,不會發生具有以下模式的情況:

^#([A-Fa-f0-9] {6} | [A-Fa-f0-9] {3})$

我究竟做錯了什么?

謝謝您的幫助。

您可以使用

^#(?!F{6}$)(?:[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

正則表達式演示

當從第一個#到字符串的末尾有6個F字符時,(?! (?!F{6}$)負向超前失敗。

如果只想禁止#后的任何數字(1個或多個),請(?!F+$)替換(?!F{6}$) (?!F+$)

暫無
暫無

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

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