Regex 如何使用正则表达式拆分字符串?
我想知道如何使用正则表达式拆分字符串 e、 g 我的绳子在下面Regex 如何使用正则表达式拆分字符串?,regex,string,express,Regex,String,Express,我想知道如何使用正则表达式拆分字符串 e、 g 我的绳子在下面 String Temp = "/dev/sda 398G 4.9G 373G 2% /mnt/internal"; 我想将上面的字符串与组名和值分开 (组名)=(值) filestream=/dev/sda 尺寸=398G 已使用=5.8G 剩余=372G 使用%=2% 安装=/mnt/内部 如果有人知道如何将上面的字符串转换为正则表达式,请留下答案 提前谢谢你的回答 祝大家今天愉快 Javascript R
String Temp = "/dev/sda 398G 4.9G 373G 2% /mnt/internal";
我想将上面的字符串与组名和值分开
(组名)=(值)
filestream=/dev/sda
尺寸=398G
已使用=5.8G
剩余=372G
使用%=2%
安装=/mnt/内部
如果有人知道如何将上面的字符串转换为正则表达式,请留下答案
提前谢谢你的回答
祝大家今天愉快 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
您可以按空格拆分
var arr=str.split(/\s+/)
string.split(\\s+)
使用模式拆分\\s+
是一个简单的解决方案,但是如果您想使用命名组方法,这里有一个示例:@NeverHopeless:这与我在C应用程序中使用的解析df-h
输出的方法相同,它是JS,不支持命名捕获。