Регулярное выражения
От: Cynic Россия  
Дата: 10.02.15 21:32
Оценка:
Возможно ли с помощью регулярных выражений проделать такой трюк. Например, есть строка ab1cd. Я хочу, чтобы Regex извлек мне только буквы abcd. Если делаю так например ^(ab(?:1)cd)$, то он возвращает одну группу но 1 остается.
Как добиться, чтобы цифра 1 была исключена?
:)
Re: Регулярное выражения
От: dalmal  
Дата: 10.02.15 21:55
Оценка: 3 (2) +2
Здравствуйте, Cynic, Вы писали:

C>Возможно ли с помощью регулярных выражений проделать такой трюк. Например, есть строка ab1cd. Я хочу, чтобы Regex извлек мне только буквы abcd. Если делаю так например ^(ab(?:1)cd)$, то он возвращает одну группу но 1 остается.

C>Как добиться, чтобы цифра 1 была исключена?

Можно вот так, чтобы не усложнять:
[^0-9]+

или
\D+
Re[2]: Регулярное выражения
От: Cynic Россия  
Дата: 10.02.15 22:02
Оценка:
Здравствуйте, dalmal, Вы писали:

D>Можно вот так, чтобы не усложнять:

D>
D>[^0-9]+
D>

D>или
D>
D>\D+
D>


Да подойдет.
:)
Re[2]: Регулярное выражения
От: BrainSlug Израиль  
Дата: 10.02.15 22:13
Оценка: 1 (1) +1
а как ты догадался . что там будут цифры обязательно? есть еще такой вариант (?<=ab)(.*)(?=cd) , но я не стал отчечать поскольку посчитал , что недостаточно знаю условие задачи
.
Re[3]: Регулярное выражения
От: dalmal  
Дата: 11.02.15 08:04
Оценка:
Здравствуйте, BrainSlug, Вы писали:

BS>а как ты догадался . что там будут цифры обязательно?

Исключительно по регексу, который пытался применить автор
Но твой вариант мне нравится больше, он универсальнее.
Re: Регулярное выражения
От: btn1  
Дата: 11.02.15 12:03
Оценка: -1
Здравствуйте, Cynic, Вы писали:

C>есть строка ab1cd

C>Как добиться, чтобы цифра 1 была исключена?

Если речь об абстрактной строке, где среди букв напиханы в разных местах цифры, то боюсь никак. А старый-добрый Replace не канает?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.