如何使用正则表达式在特定字符-
之后获取1或2个字符?
例如:
33225566-69 => 69
33225544-5 => 5
但是我不希望超过3个字符:
33226655-678 => Do not select
某些浏览器不支持向后看。 我想要不带反光的regex命令。
答案 0 :(得分:3)
只需匹配-
,然后捕获2位数字,对另一位数字进行负向超前查找,然后提取所捕获的组(如果存在)。例如,在Javascript中:
['33225566-69', '33225544-5', '33226655-678'].forEach((str) => {
const match = str.match(/-(\d{1,2})(?!\d)/);
console.log(
match
? match[1]
: 'No Match'
);
});
如果带有-
和数字的部分始终位于字符串的末尾,则使用$
代替前瞻:
-(\d{1,2})$