Доброго времени суток.
При нажатии кнопки ОК я проверяю правильно ли заполнены поля формы, в частности имя файла. Прикрутил для этого регулярное выражение (методом "научного тыка" написал паттерн). Теперь хотелось бы проверить является ли заданая строка пустой так же при помощи регулярного выражения. Что-то у меня ничего не выходт. Понятно что можно сравнить с String.Empty, но легких путей мы не ищем
Private Sub m_btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_btnOK.Click
If Regex.IsMatch(m_tbName.Text, "[\/:*""\^?<>/, ]+") Then
MessageBox.Show("The specified file name is not valid. Please, select another one.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning)
m_tbName.Focus()
Exit Sub
End If
If Not System.IO.Directory.Exists(m_tbLocation.Text) Then
MessageBox.Show("The specified path doesn't exist. Please, select another one.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning)
m_tbLocation.Focus()
Exit Sub
End If
Me.DialogResult = DialogResult.OK
End Sub
Возможно, пустые строки вообще нельзя использовать в регулярных выражениях?
Пустые строки обрабатываются так же, как и непустые. Только вместо [\/:*""\^?<>/, ]+ лучше использовать ^[^\/:*""\^?<>/, ]+$ и тогда если Regex.IsMatch(m_tbName.Text, "^[^\/:*""\^?<>/, ]+$"), то имя файла — верное и непуcтое.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение