2010-11-05 196 views
129

如果句子中的任何位置不是<或>,我需要一個正則表達式才能匹配。正則表達式 - 不包含某些字符

如果<或>在字符串中,那麼它必須返回false。

我有這個,但只有當我<部分成功>是在開頭或結尾:

(?!<|>).*$ 

我使用的.Net,如果有差別。

感謝您的幫助。

添加於提問:

我想知道,你會如何修改下面的正則表達式,使其只能如果文本包括像<test>標籤返回false?

回答

224
^[^<>]+$ 

在字符類([^)插入符號表示匹配任何東西,但,所以這意味着,開始串,則一個或多個的任何東西,除了<>,則該字符串的結尾。

+0

第一個脫字號是什麼意思?這是否意味着不包含那些不包含這些字符的東西......因此僅含有那些包含這些字符的字符串? – RobKohr 2015-01-03 16:45:28

+3

第一個脫字符號表示字符串開頭。美元意味着,字符串結束。 – 2015-01-03 20:30:40

+1

@PhilipRego注意特殊字符:shell解釋其中的一些。看看你的目錄中是否有一個名爲'] + $'的文件。將整個正則表達式放在單引號內,以使其正常工作。 – 2017-09-11 23:50:56

30

在這裏你去:

^[^<>]*$ 

這將測試一個沒有<和字符串沒有>

如果你想測試可能有<>一個字符串,但還必須有其他的東西,你應該只使用

[^<>] (or ^.*[^<>].*$) 

[<>]意味着任何的<>[^<>]意味着任何不是<>

當然還有強制性的link

+0

這不起作用。你的'.'將匹配'>'和'<'。 – codaddict 2010-11-05 12:56:46

+0

我誤添了點。抱歉。感謝您的注意。 – 2010-11-05 12:58:59

+0

感謝您的幫助。當我插入這個在asp.net中打破了服務器500錯誤。 – SetiSeeker 2010-11-05 12:59:51

相關問題