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

RegularExpressions: найти буквоциферные совпадения, без цифр

18.09.2012, 09:06. Показов 1440. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Надо найти [a-z0-9] исключая [0-9], то есть буквоциферные совпадения, без цифр.
Например a1 и a2b3 в "a1 a2b3 123" но без 123.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2012, 09:06
Ответы с готовыми решениями:

Найти суммы цифр каждого числа без учета повторяющихся цифр. Повторяющиеся суммы удалить.
Найти суммы цифр каждого числа без учета повторяющихся цифр. Повторяющиеся суммы удалить.

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

Выполняется код в блоках if-else без совпадения условия
Заготовка библиотеки по управлению АЦП Atmega32. В функции void StartSingleKonvCH(uint8_t chanel),...

Как выделить совпадения в RichTextBox без скролла?
Есть задача: при выделении мышей слова или части слова в RichTextBox, искать совпадения и выделять...

11
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
18.09.2012, 09:40 2
Поскольку варианты начинающиеся с цифры не приведены, то допускаю, что они ненужны.
Это должно работать: [a-zA-Z]+\d+
0
2 / 2 / 0
Регистрация: 15.01.2011
Сообщений: 13
18.09.2012, 09:47  [ТС] 3
Цитата Сообщение от Yurek Посмотреть сообщение
Поскольку варианты начинающиеся с цифры не приведены, то допускаю, что они ненужны.
Это должно работать: [a-zA-Z]+\d+
совсем не то, \d эквивалентно [0-9], получается [a-zA-Z]+[0-9]+
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
18.09.2012, 09:50 4
На таких вариантах работать не будет - gfhr326lhk, хотя в Ваших шаблонах такого и не указано.
Уточните задание по-максимуму.

Добавлено через 2 минуты
Цитата Сообщение от lucky74 Посмотреть сообщение
совсем не то, \d эквивалентно [0-9], получается [a-zA-Z]+[0-9]+
Чё, в натуре, а я и не знал!!! Так как по-Вашему работает комбинация [a-zA-Z]+[0-9]+ ? И как это работает по приведённым Вами шаблонам?
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
18.09.2012, 09:55 5
нет, он найдет a2 b3 отдельными
[a-zA-Z][a-zA-Z0-9]+
подойдет если начало с буквы
0
sclifasofsky
18.09.2012, 09:58 6
круто) так можно мозг поломать)
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
18.09.2012, 10:33 7
Tessen, мы ведь исходим из того, что нам автор смог передать. Давайте расшифруем его пост
Надо найти ... буквоциферные совпадения
Совпадения в данном случае трактуется как некоторая законченная комбинация букв и цифр, не прерываемых другими символами. Стало быть пробелы и другое тут неуместны и идёт речь о совпадениях рода "a1", "a2b3", но не "a1 a2b3". В пользу этого же говорит и указанное автором регулярное выражение, где о пробелах не идёт речи вообще - "[a-z0-9] исключая [0-9]".
С другой стороны, читаем далее и мозг начинает кипеть
Например a1 и a2b3 в "a1 a2b3 123" но без 123.
Так как вызывает вопрос какого рода связь образует союз "и" между "a1" и "a2b3". А также, вариант трактовки фразы целиком - то есть вроде бы автор хочет получить из "a1 a2b3 123" всё исключая "123", но почему-то про пробелы ни слова тут - "a1 и a2b3".
В общем, какой вопрос таков и ответ

Добавлено через 4 минуты
Tessen, да, совершенно верно. Перечитал Ваше сообщение. Всё как Вы говорите. Признаю ошибку.
Надеюсь автор получил желаемое...
0
2 / 2 / 0
Регистрация: 15.01.2011
Сообщений: 13
18.09.2012, 12:44  [ТС] 8
[a-zA-Z]+\d+ в "a1 a2b3 123" найдет a1 a2 b3
[a-zA-Z0-9]+ найдет a1 a2b3 123
а нужно такое выражение, которое найдет только a1 a2b3 в "a1 a2b3 123".
0
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
18.09.2012, 12:48 9
lucky74, мне кажется, что уважаемый Tessen, дал верный ответ - [a-zA-Z][a-zA-Z0-9]+ Это реально работает.
0
2 / 2 / 0
Регистрация: 15.01.2011
Сообщений: 13
18.09.2012, 12:49  [ТС] 10
Цитата Сообщение от Tessen Посмотреть сообщение
нет, он найдет a2 b3 отдельными
[a-zA-Z][a-zA-Z0-9]+
подойдет если начало с буквы
Нужно с любого символа
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
18.09.2012, 12:59 11
C#
1
var reg = new Regex(@"\d*[a-zA-Z][a-zA-Z0-9]*");
1
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
18.09.2012, 14:15 12
Рекомендую к прочтению. Сам осваиваю постепенненько...
Jeffrey EF. Friedl, "Mastering Regular Expressions" Third Edition.
Джеффри Фридл, "Регулярные выражения", Третье издание, 2008 г.
Доступно в сети в djvu формате. Обалденная книга. До кучи можно программку какую-нибудь поставить для отладки регэкспов. Например, The Regex Coach или что-то подобное. Либо сайтик найти где можно тоже самое отлаживать. Сам использую Rebular, там даже можно запоминать последнее состояние Вашей работы (make permalink) и далее задавать этот адрес - удобно просто чтобы браузер открывался сам на этой страничке. Например, Ваша задача тут. Понятно, что это для Ruby, но не думаю, что там серьёзно синтаксис отличается от C# regex. Есть куча других сайтов...

Добавлено через 2 минуты
И ещё, тут на форуме есть раздел именно по регулярным выражениям. Там, вероятно, более уместно писать о них и быстрее ответ появится.
0
18.09.2012, 14:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2012, 14:15
Помогаю со студенческими работами здесь

Индексированные поля (совпадения не допускаются) длина совпадения
Столкнулся с проблемой записи в таблицу при индексации поля да (совпадения не допускаются). "На...

Найти сумму цифр целого числа без учёта знака
Найти сумму цифр целого числа (без учета знака) (12345->15)

Задать последовательность из рандомных цифр, и найти минимальный элемент, но без массива
добрый вечер! Как можно задать последовательность из рандомных цифр, и найти минимальный элемент,...

В заданном диапазоне чисел найти все сочетания цифр без повторений
Доброго времени суток! Помогите исправить код программы.Вот задание: Для заданных m и n найти все...


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

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