使用regex从特殊字符前后的字符串中获取数字

Get the Digits From a String Before and After Special Character using regex

本文关键字:字符串 获取 数字 regex 特殊字符 使用      更新时间:2023-09-26

我有一个字符串5|10|20|200|300我想得到CCD_ 2之前的第一个数字和CCD_ 3之后的最后一个数字,即5和300。

如何在javascript中使用regex来返回这些数字??

这个最简单的正则表达式将返回两个匹配5300:

^'d+|'d+$

观看演示中的比赛。

在JS中:

result = yourString.match(/^'d+|'d+$/g);

解释

  • ^'d+匹配字符串的开头和一些数字(5(
  • |
  • 'd+$匹配某些数字和字符串的末尾

JavaScript只保留(...)+的最后一次捕获,因此您可以编写

var m = "5|10|20|200|300".match(/('d+)('|('d+))+/);

m[1]"5"m[3]"300"

var string = '5|10|20|200|300';
var array = string.split('|');
 //array[0] = '5';
 //array[array.length-1] = '300';

我知道它不是regex,但我一直发现在大多数情况下使用split更容易。

使用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]);