2015-04-02 2 views
1

Мне нужно проверить указанные ниже специальные символы а также расширенный латинские символы в моих данных

Специальные символы:. [email protected]©#$%^&*()_+{}|:"<>?``€[]\;',./

диакритические: é, ö, ò, etc

Я пытался [^a-z], но это не работает, как мне нужно, это также захватывает нежелательные символов.

Не могли бы вы помочь мне предложить правильное регулярное выражение?

+0

Просьба представить более подробную информацию. Что именно вы пытаетесь достичь? – npinti

ответ

3

В .NET вы также можете использовать специальные классы символов. Письма, которые вы предоставили, взяты из \p{IsLatin-1Supplement}Unicode character set.

Регулярное выражение может тогда быть

[\p{IsLatin-1Supplement}[email protected]©#$%^&*()_+{}|:"<>?`€\[\]\\;',./]+ 

или

[\p{IsLatin-1Supplement}\p{P}\p{S}]+ 

так символов вы при условии, что приходят из символов и наборов символов пунктуации Unicode.

Пример кода для соответствия отдельных символов из класса символов:

var rx = new Regex(@"[\p{IsLatin-1Supplement}\p{P}\p{S}]"); 
var str = "[email protected]©#$%^&*()_+{}|:\"<>?€[]\\;',./`éöò"; 
var all = rx.Matches(str).Cast<Match>().ToList(); 

Output (в VS2012):

enter image description here

+0

Здравствуйте, я также ищу регулярное выражение для допустимого значения цены, например, 100,100.00, а число должно быть без отрицательного знака .... возможно с использованием регулярного выражения – Rakesh

+0

@Rakesh: Я не знаю, что именно вы ищете. Если это проверка в реальном времени, то это не так просто, так как вам придется использовать опережение. Если нет, это действительно просто. НО для проверки цены я бы просто использовал C# Decimal.TryParse() (https://msdn.microsoft.com/en-us/library/ew0seb73(v=vs.110).aspx?cs-save-lang= 1 & CS-Ланг = CSharp # код-фрагмент-1). Пожалуйста, разместите свой вопрос, и вы обязательно получите ответ. –

+0

Здравствуйте, Пожалуйста, найдите вопрос, связанный с ценовой валидностью http://stackoverflow.com/questions/29415527/c-sharp-price-validation-using-regular-expression-other-way – Rakesh

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