我有一个字符串
5|10|20|200|300
我希望|
之前的第一个数字和|
之后的最后一个数字是5和300.
我如何在javascript中使用正则表达式来返回这些数字?
答案 0 :(得分:7)
这个最简单的正则表达式将返回两个匹配5
和300
:
^\d+|\d+$
查看the demo中的匹配项。
在JS中:
result = yourString.match(/^\d+|\d+$/g);
<强>解释强>
^\d+
匹配字符串的开头和一些数字(5
)|
\d+$
匹配某些数字和字符串的结尾答案 1 :(得分:5)
JavaScript仅保留(...)+
的最后一次捕获,因此您可以编写
var m = "5|10|20|200|300".match(/(\d+)(\|(\d+))+/);
然后m[1]
为"5"
而m[3]
为"300"
答案 2 :(得分:1)
使用split()方法
将字符串转换为数组var str="5|10|20|200|300";
var res_array = str.split("|");
现在获取数组的第一个和最后一个值:::
alert("First value is"+ res_array[0]);
alert("Last value is"+ res_array[arr.length - 1]);
答案 3 :(得分:0)
var string = '5|10|20|200|300';
var array = string.split('|');
//array[0] = '5';
//array[array.length-1] = '300';
我知道这不是正则表达式,但在大多数情况下,我总能发现拆分更容易。