確定,所以我需要在形如x任何座標一個正則表達式,y,其中x和y爲單數從1到9正則表達式
我嘗試這樣做:
If Regex.IsMatch(TextBox1.Text, "[1-9],[1-9]")
但是,當我只能在逗號的每一邊允許1-9的單個整數時,這允許諸如「11,99」的值。
請幫忙。謝謝!
確定,所以我需要在形如x任何座標一個正則表達式,y,其中x和y爲單數從1到9正則表達式
我嘗試這樣做:
If Regex.IsMatch(TextBox1.Text, "[1-9],[1-9]")
但是,當我只能在逗號的每一邊允許1-9的單個整數時,這允許諸如「11,99」的值。
請幫忙。謝謝!
它匹配表達式,因爲IsMatch
返回true
如果字符串至少包含給定正則表達式的一個匹配。如果您需要確保整個字符串與給定表達式匹配,則應將其重寫爲:
If Regex.IsMatch(TextBox1.Text, "^[1-9],[1-9]$")
If Regex.IsMatch(TextBox1.Text.Trim(), "^[1-9],[1-9]$")
請注意添加的Trim()
以防止空白造成的問題。
它會匹配,例如,甚至這個:「,111」 – 2013-04-10 12:45:35
@Adriano:良好的捕獲,更新。 – Pondidum 2013-04-10 12:50:33
如果你已經使用正則表達式,那麼'Trim'是多餘的,只需在表達式的開始和結束處使用空格。 – 2013-04-10 12:52:14
你確定它允許重複嗎?我認爲之後需要添加+或*以允許多次出現。你在找什麼,定義它是字符串的開始,並在字符串的末尾結束
它不允許重複,但它會匹配11,99。它匹配1,9部分,'忽略'1開始和9結束。你需要^和$來告訴正則表達式引擎你想匹配整個字符串 – 2013-04-10 12:48:21
是的,只是不想直接說它,但你是對的:) 1 ** 1,9 ** 9 - >匹配 – Amegon 2013-04-10 12:54:11
啊,我明白了。你正在給老師一個答案,小心翼翼地推問提問者自己想出來,然後進行更深入的學習和啓發:D我沒有讀太多第一行,對不起! – 2013-04-10 12:56:30
歡迎使用StackOverflow。如果某個問題有用地回答了您的問題之一,我們會要求您單擊該問題旁邊的接受選中標記,以便其他人可以稍後再回來,並更輕鬆地掃描答案以獲取有用的信息。 – Crisfole 2013-04-10 14:39:29