2009-09-21 1 views
2

Я пытался несколько регулярных выражений комбинации, чтобы выяснить это, но некоторые или условие не выполняется,регулярное выражение, которое соответствует строке, которая содержит только из определенных букв

У меня есть входной строки, которые могут содержать только данность набор определенных символов

позволяет говорить A, B или C в нем.

как я могу найти что-то вроде этого?

ABBBCCC - isMatch Правда

AAASDFDCCC - isMatch ложные

пс. Я использую C#

+0

неизвестно: будет ABBBBAC матч? –

+0

да ... это будет матч .... Любая строка, которая имеет A и/или B и/или C, будет соответствовать – 81967

+0

, а как же чувствительность к регистру? Будет ли aBBBbBc соответствовать? –

ответ

18
^[ABC]+$ 

Должно быть достаточно: то есть с помощью Character class or Character Set.

Anchors '^' и '$' будут доступны только для обеспечения того, чтобы все строки содержали только те символы от начала до конца.

Regex.Match("ABACBA", "^[ABC]+$"); // => matches 

Значение: Набор символов не гарантирует порядок совпадений символов.

Regex.Match("ABACBA", "^A+B+C+$"); // => false 

гарантировало бы порядок

+0

Спасибо VonC, Works Perfect, я использовал [ABC] +, который, как я думал, будет в порядке, но требуется Anchor и $ .... Привет! – 81967

+0

Спасибо за заказ, который поможет мне. – JasonBartholme

1

Я думаю, что вы ищете это:


Match m = Regex.Match("abracadabra", "^[ABC]*$"); 
if (m.Success) { 
    // Macth 
} 
+0

"^ [ABC] * $" также будет соответствовать пустой строке. Чтобы заставить хотя бы один из символов присутствовать, измените его на «^ [ABC] + $" –

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