2016-09-13 2 views
0

Я пытаюсь перечислить все файлы в разделе «/ proc» на моем устройстве Android и получить имена всех этих файлов, содержащие только цифры, такие как «123 «» 435'.I пытается фильтровать те обычной expression.I пыталось три выражения ниже, но все они не смогли иногда:Регулярное выражение не удалось, когда я пытаюсь получить все файлы, имена которых содержат только номер

^[0-9]+$ 
[0-9]+ 
    \d+ 

Интересно, как можно три выражения может соответствовать, например, „14971“, но может 't соответствует "15003"?

+0

может быть, оценивает весь имя_файла ... смысл, РАСШИРЕНИЯ также? .gif не будет соответствовать, например, потому что ни один. , g, i или f - числа ... ya см. rudy theo. –

+0

Regex в порядке, пожалуйста, напишите [MCVE] (http://stackoverflow.com/help/mcve) вашего кода, и я уверен, вы быстро получите ответ ... –

ответ

1

Я думаю, что boober Bunz прав, что расширение файла - это разница. Все три ваших выражений совпадают как «14971» и «15003»

лучший способ тянуть расширения выключать FileNames, а затем использовать наиболее ограничительное выражение вам нужно:^[0-9 ] + $

или если вы просто хотите оставить расширение на, это, скорее всего, работа для вас: "^ [0-9] + [] [^] * $."

начало строки, одна или несколько цифр, должны иметь. а затем любое количество non. конец строки. это не будет соответствовать:

«123.123.txt»

+0

да, я проверил и запустил все те, быть признанным и найти некоторых персонажей - это моя вина. Спасибо, я закончил это. – tnjin

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