Regex 是否可以在字符串的特定索引之间匹配正则表达式

Regex 是否可以在字符串的特定索引之间匹配正则表达式,regex,Regex,例如,如果我有一个电话号码,我想看看最后两个数字中是否有一个是7。我可以只使用正则表达式来实现这一点,还是必须先将字符串分开?您可以使用正则表达式: 7\d?$ 无论是在最后一个位置还是在倒数第二个位置,它都将与7相匹配。或者,更准确地说,它匹配字符串末尾的7,可选地后跟另一个数字,这在最后两个位置之一转换为7。您可以使用环视来匹配字符串的任意索引,我们将使用look-behind(?您使用的是哪种语言?正则表达式经过了4或5次迭代(每一个都起作用)因为我发布了答案;-)它使前面的标记成为可选

例如,如果我有一个电话号码,我想看看最后两个数字中是否有一个是7。我可以只使用正则表达式来实现这一点,还是必须先将字符串分开?

您可以使用正则表达式:

7\d?$

无论是在最后一个位置还是在倒数第二个位置,它都将与7相匹配。或者,更准确地说,它匹配字符串末尾的7,可选地后跟另一个数字,这在最后两个位置之一转换为7。

您可以使用环视来匹配字符串的任意索引,我们将使用look-behind
(?您使用的是哪种语言?正则表达式经过了4或5次迭代(每一个都起作用)因为我发布了答案;-)它使前面的标记成为可选的,即regex相当于
7$| 7\d$
,但带问号的我不必完整地解释这两个选项。
(?<=^.{N})REGEX
REGEX(?=.{N}$)
(?<=^.{2})x*(?=.{2}$)