Войти

Показать полную графическую версию : Проблема с регуляркой


blackeangel
15-06-2017, 20:14
Помогите разбить на столбцы в массив вот такие строки

-rwxr-xr-x 0/2000 30220 2015-09-09 16:21 /bin/akmd8975
-rwxr-xr-x 0/2000 210 2015-09-09 16:21 /bin/am
-rwxr-xr-x 0/2000 30080 2015-09-09 16:21 /bin/ami304d
lrwxrwxrwx 0/0 0 2017-05-31 06:06 /bin/app_process -> /system/xbin/daemonsu
lrwxrwxrwx 0/0 0 2017-05-31 06:06 /bin/app_process32 -> /system/xbin/daemonsu
-rwxr-xr-x 0/2000 53596 2015-09-09 16:21 /bin/applypatch
-rwxr-xr-x 0/2000 13596 2015-09-09 16:21 /bin/applysig
-rwxr-xr-x 0/2000 213 2015-09-09 16:21 /bin/appops
-rwxr-xr-x 0/2000 215 2015-09-09 16:21 /bin/appwidget

решил использовать регулярку. Написал вот такой шаблон

("^(.*?)\\s(\\d+)/(\\d+)(\\s+\\d+\\s[\\d+]-[\\d+]-[\\d+] [\\d+]:[\\d+])\\s(/.*)(?:\\s(.+?))?$"

но что то он не работает. Никак не пойму где ошибка.
Значит на выходе должно получиться:
1столбец - -rwxr-xr-x
2столбец - 0
3столбец - 2000
4столбец - " 53596 2015-09-09 16:21"
5столбец - /bin/app_process32
6столбец - -> /system/xbin/daemonsu //если есть такой

blackeangel
15-06-2017, 20:30
точнее проблему решил вот так вот

"^(.*?)\\s(\\d+)/(\\d+)(.*?)\\s(/.+?)(?:\\s->\\s(.+?))?$"

Всем спасибо :)




© OSzone.net 2001-2012