正则表达式匹配除前两个字符之外的所有内容

时间:2013-01-14 16:37:58

标签: javascript regex

我需要一个正则表达式,它匹配字符串中前两个字符后的所有内容。

例如(首先列出的原始字符串,然后我要匹配的内容):

AZ0bc1234  > 0bc1234
50def123   > def123
!@hijk1234 > hijk1234

重要的是位置,任何字符(带符号的字母数字)都可以包含在原始字符串中。

我尝试了很多东西,但我尝试的所有东西都匹配前两个字符中的至少一个。我最接近的是使用\B.*来匹配除第一个角色之外的所有内容。

3 个答案:

答案 0 :(得分:7)

如果您想要除前两个字符之外的所有字符,您可以尝试这一点(捕获到每行的末尾):

".{2}(.*)$"

你是第一组(在parens中)。或者不同:

"(?:.{2})(.*)$"

答案 1 :(得分:3)

您正在寻找positive lookbehind。这将匹配您请求的部分。

(?<=.{2})(.*)$

您已更新了问题,并写道您使用的是JavaScript。 JavaScript不支持Lookbehind。但是,我将在未来的搜索结果中留下这个答案。

答案 2 :(得分:0)

以下内容将保存capturing group中的匹配字符串(由括号定义):

^.{2}(.+)

根据语言的不同,您应该可以将其与$1\1一起使用。