我一直试图获得一个正则表达式,可以选择字符串中的最后一个第四个字符。
对于Ex。如果“system”是一个字符串,我想选择“s”,我无法检查从开始,因为从开始的字符数不固定。
到目前为止,我只达到了:UPDATE Master SET [MPXN] = November.MPXN, [Clarification Text] = November.[Clarification Text]
WHERE (EXISTS(SELECT 1 FROM November AS November
WHERE [November.Case] = [Master.Case]));
,但它是最后三个角色而不是之后的角色。
有人可以帮助我吗?
答案 0 :(得分:3)
.(?=.{3}$)
适用于整个表达式匹配,而不仅仅是捕获组。
答案 1 :(得分:2)
你必须使用一个小组:
/(.).{3}$/
此处的完整匹配为stem
,第1组为s
(您可以在此处查看:https://regex101.com/r/dZwhcu/1)
你可以按如下方式解决:
var matches = 'system'.match(/(.).{3}$/); //=> ['stem', 's']
if (matches[1] === 's') {
// ...
}
答案 2 :(得分:0)
const reg = /.*(.).{3}$/g
const str = 'this is astring'
console.log(
str.replace(reg, '$1')
)

答案 3 :(得分:0)
为什么不使用这样的子字符串:
function lastFourLetters(str)
{
if (str.length < 5)
return str;
return str.substring(str.length - 4 , 4);
}
答案 4 :(得分:0)
尝试使用/([a-z]).{3}$/g
然后在结果中,您可以使用第一个捕获组中的值。如果您想要更广泛或不同的选择,请更改课程