2010-01-19 2 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 и '$' to V1.01 .. – Lucero

+0

Вы верны. Я исправил регулярное выражение. Благодарю. – Aaron

4

Причина, по которой вы получаете соответствие на «V1.002», заключается в том, что она видит подстроку «V1.00», которая является частью вашего регулярного выражения. Вам нужно указать, что больше ничего не нужно. Таким образом, вы можете сделать это:

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

Более компактный способ получить тот же результат будет:

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

Ваше регулярное выражение разбито, '^' будет применяться только к V1.00 и '$' to V1.01 .. – Lucero

+0

Спасибо. Он исправлен. –

Смежные вопросы