正则表达式从最后获得第4个字符

时间:2016-12-19 14:18:05

标签: javascript regex

我一直试图获得一个正则表达式,可以选择字符串中的最后一个第四个字符。

对于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])); ,但它是最后三个角色而不是之后的角色。

有人可以帮助我吗?

5 个答案:

答案 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然后在结果中,您可以使用第一个捕获组中的值。如果您想要更广泛或不同的选择,请更改课程