0

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

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

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

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

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

4

3 回答 3

6

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

".{2}(.*)$"

您在第一组之后(在括号中)。或者不同:

"(?:.{2})(.*)$"
于 2013-01-14T16:40:13.800 回答
5

您正在寻找一个积极的向后看。这将匹配您请求的部分。

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

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

于 2013-01-14T16:42:23.437 回答
0

以下将在捕获组中保存匹配的字符串(由括号定义):

^.{2}(.+)

您应该能够将它与$1\1取决于语言一起使用。

于 2013-01-14T16:44:07.650 回答