我有一个字符串:
字符串1:
这是测试12-23。
字符串2:
这是测试12-33-99。
字符串1输出:
12 => t, - 和23 => - ,.可以是阵列没问题,我只需要这个
字符串2输出:
12 => t, - 和33 => - , - 和99 => - ,.
问题是:我想得到每个整数的前后字母/字符。
我知道正则表达式可以实现这一点,但我无法做到这一点。任何人都可以帮助我。
提前致谢。
答案 0 :(得分:4)
对RegExp#exec
正则表达式使用capturing group方法。虽然您需要使用lookahead assertion来获取后续字符,否则正则表达式将从下一个匹配中排除以下字符。
var str = ' test12-23. test12-33-99. ';
var regex = /(.)(\d+)(?=(.))/g, m;
while (m = regex.exec(str)) {
console.log(m[2] + ' => ' + m[1] + ' , ' + m[3])
}