Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
chydik
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 17
1

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

27.03.2018, 15:45. Просмотров 839. Ответов 13

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

Составить регулярное выражение, которое считывало бы все символы в строке с 13 по 72
Приветствую! Не могу ничего толкового придумать.Нужно составить выражение,...

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

Дано целое число N (1 ≤ N ≤ 26). Вывести N первых прописных (то есть заглавных) букв латинского алфавита
Дано целое число N (1 ≤ N ≤ 26). Вывести N первых прописных (то есть заглавных)...

Дано целое число N (1 ≤ N ≤ 26). Вывести N первых прописных (то есть заглавных) букв латинского алфавита
Дано целое число N (1 ≤ N ≤ 26). Вывести N первых прописных (то есть заглавных)...

Содержаться ли в файле (строке) символы латинского, русского алфавитов, цифры
Здравствуйте, уважаемые форумчане. Помогите решить задачу, хотя бы дать...

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

Решение

chydik,
C#
1
string pattern = @"^[a-zA-Z0-9\.\^\$\*\+\?\{\}\[\]\=\|\(\)]+$";
0
chydik
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 17
27.03.2018, 16:27  [ТС] 7
ага как раз так сделал и хотел отписаться) Спасибо за помощь.
0
VladPVS
179 / 160 / 97
Регистрация: 14.03.2018
Сообщений: 425
Завершенные тесты: 2
27.03.2018, 16:28 8
Можно ещё попробовать:
C#
1
Regex reg = new Regex(@"^([A-za-z0-9]|[\.\^\$\*\+\?\{\}\[\]\\\|\(\)=])*$");
0
chydik
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 17
27.03.2018, 16:32  [ТС] 9
хм.. возник новый вопрос, как выпилить "_"? добавление "\_" заставляет VS ругаться на этот кусок..
0
VladPVS
179 / 160 / 97
Регистрация: 14.03.2018
Сообщений: 425
Завершенные тесты: 2
27.03.2018, 16:35 10
Нижнее подчёркивание не нужно экранировать.
0
chydik
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 17
27.03.2018, 16:44  [ТС] 11
Логично, с этим тоже справился, а с пробелами как быть?
0
edward_freedom
1555 / 1434 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
27.03.2018, 16:46 12
chydik, А что с ними?
Код
\s
0
chydik
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 17
27.03.2018, 16:49  [ТС] 13
А с ним видимо то, что просидев 2.5 часа за мануалами по регексу я отупел. На этом все, еще раз спасибо.
0
chydik
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 17
29.03.2018, 10:59  [ТС] 14
Новую тему открывать не хочу, надеюсь кто заметит. Есть набор спецсимволов допустимых в тексте файла.
C#
1
@"\.\^\$\*\+\?\{\}\[\]\=\|\(\)\,\-\@\\_\:\/\-\s"
вот он. надо добавить к допустимым символам кавычки двойные, а не то он на них ругается. экранирование через "" не помогает.
0
29.03.2018, 10:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2018, 10:59

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru