2015-08-18 2 views
2

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

например

моя строка внизу.

String Temp = "/dev/sda  398G 4.9G 373G 2% /mnt/internal"; 

Я хочу отделить указанную строку до названия и значения группы.

(Название группы) = (значение)

FileStream =/DEV/SDA

размер = 398G

используется = 5.8G

остаются = 372G

использование% = 2%

mount =/mnt/внутренний

Если кто-нибудь знает, как преобразовать приведенную выше строку в регулярное выражение, пожалуйста, оставьте ответ.

Заранее Спасибо за ваш ответ.

У всех хороший день!

+1

Вы можете разделить пробелами 'вар обр = str.split (/ \ S + /)' ' – Tushar

+1

String.split ("\\ s +")' –

+1

Разделить с рисунком '\\ S +' является простое решение, но если вы хотите пойти с именованным групповым подходом, вот пример: http://rubular.com/r/1Vbo3QtUBx – NeverHopeless

ответ

1

В Javascript RegEx afaik нет «названных групп». Но вы также можете сделать это с помощью «обычных» групп. Вот регулярное выражение:

([\w\d/]+)\s+([\d\.G]+)?\s+([\d\.G]+)?\s+([\d\.G]+)?\s+(\d+%)\s+([\w\d/]+) 

Детали:

([\w\d/]+)  -> match group of "chars", "digits" and "/" 
\s+    -> followed by at least on whitespace 
([\d\.G]+)?  -> match shortest match of "digits", "." and "/" and char "G" 
\s+    -> followed by at least on whitespace 
([\d\.G]+)?  -> match shortest match of "digits", "." and char "G" 
\s+    -> followed by at least on whitespace 
([\d\.G]+)?  -> match shortest match of "digits", "." and char "G" 
\s+    -> followed by at least on whitespace 
(\d+%)   -> match "digits" followed by "%" 
\s+    -> followed by at least on whitespace 
([\w\d/]+)  -> match group of "digits", "chars" and "/" 

После того, что вы можете получить доступ к группам 1 до 6, которые соответствуют тому, что вам нужно.

http://regexr.com/3bnsd

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