2010-01-19 122 views
1

我需要一個正則表達式來列出接受的版本號。即。假設我想接受"V1.00""V1.02"。我試過這個"(V1.00)|(V1.01)",這幾乎可以工作,但如果我輸入"V1.002"(這可能是由於我正在使用的奇怪版本號),我仍然得到一個匹配。我需要匹配確切的字符串。正則表達式接受單詞

任何人都可以幫忙嗎?

回答

3

這樣做:

^(V1\.00|V1\.01)$ 

.需要進行轉義,^手段必須在文本的開頭和$必須在文本的末尾)

0

我會使用'^' 和 '$' 來標記字符串的開頭和結尾,就像這樣:

^(V1\.00|V1\.01)$

這種方式整個字符串必須匹配正則表達式。

+0

你的正則表達式是壞了,''^將只適用於V1.00和'$'到V1.01 .. – Lucero 2010-01-19 16:32:42

+0

你是對的。我糾正了正則表達式。謝謝。 – Aaron 2010-01-19 16:45:34

4

你在「V1.002」上得到一個匹配的原因是因爲它看到子字符串「V1.00」,這是你的正則表達式的一部分。您需要指定沒有更多內容需要匹配。所以,你可以這樣做:

^(V1\.00|V1\.01)$ 

得到同樣結果的更緊湊的方法是:

^(V1\.0[01])$ 
+0

你的正則表達式壞掉了,'^'只會應用到V1.00,'$'到V1.01 .. – Lucero 2010-01-19 16:30:57

+0

謝謝。它是固定的。 – 2010-01-19 16:48:49