Регулярное выражение в список принятых слов - PullRequest
1 голос
/ 19 января 2010

Мне нужно регулярное выражение для перечисления принятых номеров версий. то есть. Скажем, я хотел принять "V1.00" и "V1.02". Я попробовал это "(V1.00)|(V1.01)", которое почти работает, но затем, если я ввожу "V1.002" (что, вероятно, из-за странных номеров версий, с которыми я работаю), я все равно получаю соответствие. Мне нужно соответствовать точным строкам.

Кто-нибудь может помочь?

Ответы [ 3 ]

4 голосов
/ 19 января 2010

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

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

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

^(V1\.0[01])$
3 голосов
/ 19 января 2010

Сделайте это:

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

(. необходимо экранировать, ^ означает, что должно быть в начале текста, а $ должно быть в конце текста)

0 голосов
/ 19 января 2010

Я бы использовал '^' и '$', чтобы отметить начало и конец строки, например:

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

Таким образом, вся строка должна соответствовать регулярному выражению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...