Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Несоответствие нескольким условиям Добавлено: 06.04.11 16:33  

Автор вопроса:  WHorse
Доброго времени суток!

Имеется следующие блоки кода, выполняющиеся по клику на кнопку:


Dim regnum0 As New System.Text.RegularExpressions.Regex("^\d{1,3}$")
Dim regnum1 As New System.Text.RegularExpressions.Regex("^[А-ЯA-Z]{1}\d{3}[А-ЯA-Z]{2}\d{2,3}$")
Dim regnum2 As New System.Text.RegularExpressions.Regex("^\d{4}[А-ЯA-Z]{2}\d{2}$")
Dim regnum3 As New System.Text.RegularExpressions.Regex("^\d{3}[А-ЯA-Z]{1,2}\d{3,6}$")

'<...>

Dim regnum As String = TextBox1.Text

'<...>


Имеется множество блоков независимых друг от друга условных переходов с участием объявленных regnumX вида:


If (regnum0.IsMatch(regnum).ToString) Then
'<...>
End If



Подскажите пожалуйста как в конце Sub сделать условие несоответствия всем RegnumX.

Т.е.,

ЕСЛИ ТекстовоеПоле1 не совпадает с маской регулярного выражения Regnum1, Regnum2, Regnum3 и т.д., ТОГДА выполняем действие.

Спасибо!

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #1 Добавлено: 06.04.11 16:51
>условие несоответствия всем RegnumX.
для начала все regnum было бы неплохо зангать в массив, или список.
ну, а потом Список.Any(Function (...

Ответить

Номер ответа: 2
Автор ответа:
 WHorse



Вопросов: 5
Ответов: 7
 Профиль | | #2 Добавлено: 06.04.11 20:02
Спасибо!
Я сделал иначе, изменил конструкцию блоков :

If Then
'<...>
End If

If Then
'<...>
End If


На один блок:
[CODE]
If Then
'<...>
ElseIf
'<...>
Else
'<...>
End If
/CODE]



Ответить

Номер ответа: 3
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #3 Добавлено: 06.04.11 21:09
Вариант, эфективно используюищй возможности современных многоядерных процессоров

  1.             Regex[] expressions = {
  2.                                       new Regex(@"^\d{1,3}$"),
  3.                                       new Regex(@"^[А-ЯA-Z]{1}\d{3}[А-ЯA-Z]{2}\d{2,3}$"),
  4.                                       new Regex(@"^\d{4}[А-ЯA-Z]{2}\d{2}$"),
  5.                                       new Regex(@"^\d{3}[А-ЯA-Z]{1,2}\d{3,6}$")
  6.                                   };
  7.  
  8.             string text = Console.ReadLine();
  9.             Boolean result = expressions.AsParallel().Any(r => r.IsMatch(text));

Ответить

Номер ответа: 4
Автор ответа:
 WHorse



Вопросов: 5
Ответов: 7
 Профиль | | #4 Добавлено: 07.04.11 19:45
Спасибо!
Я возьму это на заметку.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам