Javascript 使用正则表达式从特殊字符前后的字符串中获取数字
我有一根像Javascript 使用正则表达式从特殊字符前后的字符串中获取数字,javascript,arrays,regex,Javascript,Arrays,Regex,我有一根像 5 | 10 | 20 | 200 | 300 我想得到前面的第一个数字和后面的最后一个数字,即5和300 如何在javascript中使用正则表达式返回这些数字 var string = '5|10|20|200|300'; var array = string.split('|'); //array[0] = '5'; //array[array.length-1] = '300'; 我知道它不是正则表达式,但我总是发现在大多数情况下使用split更容易。使用split()
5 | 10 | 20 | 200 | 300
我想得到
前面的第一个数字和
后面的最后一个数字,即5和300
如何在javascript中使用正则表达式返回这些数字
var string = '5|10|20|200|300';
var array = string.split('|');
//array[0] = '5';
//array[array.length-1] = '300';
我知道它不是正则表达式,但我总是发现在大多数情况下使用split更容易。使用split()方法将字符串转换为数组 现在获取数组的第一个和最后一个值:
alert("First value is"+ res_array[0]);
alert("Last value is"+ res_array[arr.length - 1]);
这个最简单的正则表达式将返回两个匹配项
5
和300
:
^\d+|\d+$
在中查看比赛
在JS中:
result = yourString.match(/^\d+|\d+$/g);
解释
匹配字符串的开头和一些数字(^\d+
)5
- 或
|
匹配某些数字和字符串的结尾\d+$
(…)+
的最后一个捕获,因此您可以编写
var m = "5|10|20|200|300".match(/(\d+)(\|(\d+))+/);
那么
m[1]
是“5”
和m[3]
是“300”
为什么不使用.split(“|”)
?我想分别得到这两个数字,它返回的两个数字是在一个数组中的,只要得到结果[0]和结果[1]。:)如果字符串的格式为| 5 | 100 | 200,那么如何获取第一个数字如果表达式为| 5 | 10 | 20,那么如何从string@ShaheerAlim[1]
,您试过了吗?经过一些更改后,我得到了想要的结果,谢谢您的帮助:)
var m = "5|10|20|200|300".match(/(\d+)(\|(\d+))+/);