2015-12-23 8 views
0

Я пытаюсь написать регулярное выражение, которое пытается сопоставить определенную строку, но игнорирует все числа в целевой строке. Поэтому мое регулярное выражение может быть «MyDog», но оно должно совпадать с MyDog, а также My11Dog и MyDog1 и т. Д. Я мог бы написать что-то вродеRegex: Игнорирование чисел

M[^\d]*y[^\d]D[^\d]*o[^\d]g[^\d]* 

Но это довольно болезненно. Есть идеи? Я использую Java и не могу изменить то, что находится в строке, потому что мне нужно получить его как есть.

+4

удалить номера раньше. –

+0

Какой инструмент/язык регулярных выражений? – anubhava

+0

См. Выше - я использую java – user2689782

ответ

4

Регулярные выражения могут сделать это в конце, но почему бы вам не получить помощь от вашего языка программирования Java? (я не могу Java!)

String s1 = "0My1D2og3"; 
s2 = s1.replaceAll("\d", ""); 
if (s2.equals("MyDog")) { 
    // Do something 
} 
+0

Мне нужно использовать регулярное выражение, потому что это очень длинный файл – user2689782

+0

@ user2689782 Просьба предоставить данные реального мира. – revo

+0

Как предлагалось @revo - отфильтровать все цифры и использовать regexp, а вместо equals вы можете делать regexp на выходе. – Dmitry

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