以下正则表达式
var str = "1234,john smith,jack jone";
var match = str.match(/([^,]*,[^,]*,[^ ]*)/g);
alert(match);
返回
1234,john smith,jack
但我想要得到的是整个字符串
1234,john smith,jack jones
基本上我的脚本只为逗号之间的第一个空格完成这项工作,但我想每次逗号之间有空格时都这样做。
任何人都可以帮助我吗?
以下正则表达式
var str = "1234,john smith,jack jone";
var match = str.match(/([^,]*,[^,]*,[^ ]*)/g);
alert(match);
返回
1234,john smith,jack
但我想要得到的是整个字符串
1234,john smith,jack jones
基本上我的脚本只为逗号之间的第一个空格完成这项工作,但我想每次逗号之间有空格时都这样做。
任何人都可以帮助我吗?
您的模式从最后一部分中排除了空格,因此一旦在第三个逗号之后遇到空格,这就是匹配的结尾。你可能想试试这个:
var match = str.match(/[^,]*,[^,]*,.*/g);
这将允许第二个逗号之后的任何内容,包括空格或更多逗号(因为您的原始模式允许第二个逗号之后的逗号)。
如果您只想在单个上匹配模式,请使用开始/结束锚(^
/ $
)以及多行标志(m
),就像我们这样:
var match = str.match(/^[^,]*,[^,]*,.*$/mg);
您可以通过这个简单的演示进行尝试。
为什么你不使用 split ?
"1234,john smith,jack jone".split(/,/)
或者
"1234,john smith,jack jone".split(",")