Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
1

Regex выражение которое будет проверять, что в строке есть только символы латинского алфавита и спецсимволы

27.03.2018, 15:45. Показов 5302. Ответов 13

Author24 — интернет-сервис помощи студентам
Задача написать выражение которое будет проверять, что в строке есть только символы латинского алфавита+ спецсимволы (. ^ $ * + ? { } [ ] \ | ( ) =). "равно" тоже в список входит-не смайлик. пока это чудо враждебной техники выглядит так: ^/[a-zA-Z0-9]. ^ $ * + ? { } [ ] = | ( )/+$, однако очевидно оно не работает. Попытки поставить "/" перед каждым символом-не увенчались успехом, как и несколько часовой серфинг в интернетах, одинаковые статьи которые не дают ответа на вопрос(
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2018, 15:45
Ответы с готовыми решениями:

Проверить что строка Содержит только цифры и заглавные символы латинского алфавита
Проверить что строка Содержит только цифры и заглавные символы латинского алфавита. Как это можно...

Найти количество слов, содержащих только символы латинского алфавита
Ввести n слов с консоли. Найти количество слов, содержащих только символы латинского алфавита, а...

Вывести на экран только те символы, которые являются буквами латинского алфавита
Короче нужна сегодня лабу сдавать,а как делать. Задание такое, язык делфи: Создать стек,...

Вывести заглавные символы латинского алфавита, увеличивая количество в каждой строке
Вывести заглавные символы латинского алфавита следующим образом: в первой строке - первый символ...

13
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
27.03.2018, 16:03 2
chydik,
Цитата Сообщение от chydik Посмотреть сообщение
поставить "/"
Так это не экранирующий знак, нужный такой
Код
\
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
27.03.2018, 16:05  [ТС] 3
Сорян, опечатался. Пробовал на самом деле и \ и /, "^/[a-zA-Z0-9]\.\^\$\*\+\?\{\}\[\]\=\|\(\)/+$" <-вот так выглядело выражение, но опять же не работало. Что-то я делаю не так.
0
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
27.03.2018, 16:22 4
chydik, А так
Код
^[a-zA-Z0-9\.\^\$\*\+\?\{\}\[\]\=\|\(\)]+$
Тестировал тут, все работает
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
27.03.2018, 16:24  [ТС] 5
unrecognized escape sequence говорит и красным подчеркивает.
C#
1
if (!Regex.IsMatch(Line, "^[a-zA-Z0-9\.\^\$\*\+\?\{\}\[\]\=\|\(\)]+$", RegexOptions.IgnoreCase))
полностью строка.
0
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
27.03.2018, 16:25 6
Лучший ответ Сообщение было отмечено chydik как решение

Решение

chydik,
C#
1
string pattern = @"^[a-zA-Z0-9\.\^\$\*\+\?\{\}\[\]\=\|\(\)]+$";
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
27.03.2018, 16:27  [ТС] 7
ага как раз так сделал и хотел отписаться) Спасибо за помощь.
0
189 / 166 / 101
Регистрация: 14.03.2018
Сообщений: 426
27.03.2018, 16:28 8
Можно ещё попробовать:
C#
1
Regex reg = new Regex(@"^([A-za-z0-9]|[\.\^\$\*\+\?\{\}\[\]\\\|\(\)=])*$");
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
27.03.2018, 16:32  [ТС] 9
хм.. возник новый вопрос, как выпилить "_"? добавление "\_" заставляет VS ругаться на этот кусок..
0
189 / 166 / 101
Регистрация: 14.03.2018
Сообщений: 426
27.03.2018, 16:35 10
Нижнее подчёркивание не нужно экранировать.
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
27.03.2018, 16:44  [ТС] 11
Логично, с этим тоже справился, а с пробелами как быть?
0
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
27.03.2018, 16:46 12
chydik, А что с ними?
Код
\s
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
27.03.2018, 16:49  [ТС] 13
А с ним видимо то, что просидев 2.5 часа за мануалами по регексу я отупел. На этом все, еще раз спасибо.
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 26
29.03.2018, 10:59  [ТС] 14
Новую тему открывать не хочу, надеюсь кто заметит. Есть набор спецсимволов допустимых в тексте файла.
C#
1
@"\.\^\$\*\+\?\{\}\[\]\=\|\(\)\,\-\@\\_\:\/\-\s"
вот он. надо добавить к допустимым символам кавычки двойные, а не то он на них ругается. экранирование через "" не помогает.
0
29.03.2018, 10:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2018, 10:59
Помогаю со студенческими работами здесь

Вывести символы латинского алфавита нижнего регистра, НЕ встречающихся в строке, в алфавитном порядке
Доброе время суток помогите пожалуйста написать программу на паскале:написать программу, которая...

Заменить все буквенные символы латинского алфавита в исходной строке на символ, введенный с клавиатуры
Написать программу, заменяющую все буквенные символы латинского алфавита в исходной строке на...

В строке,содержащей буквы латинского алфавита, определить гласные,встречающиеся только один раз
Всем доброго времени суток!Я буду признателен,если вы мне поможете с решением одной задачи.Я уже...

Сформировать множество, в которое входят только латинские буквы алфавита, встретившиеся в строке.
операции со множествами Сформировать множество, в которое входят только латинские буквы алфавита,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru