正则表达式匹配字符串后的字符串

时间:2017-06-09 10:23:10

标签: javascript regex

我正在尝试匹配可能是a-z后跟特定字符的前3个字母。

为了测试我正在使用正则表达式在线测试器。 我认为这应该有效(没有成功):

^[a-z]{0,3}$[z]

我的测试字符串是abcz。

希望你能告诉我我做错了什么。

2 个答案:

答案 0 :(得分:1)

如果您需要匹配整个字符串abcz,请使用

/^[a-z]{0,3}z$/
            ^^ 

或 - 如果3个字母是强制性的:

/^[a-z]{3}z$/

请参阅regex demo

模式中的$[z]尝试在字符串锚点结束后匹配z,这会使正则表达式失败始终

<强>详情:

  • ^ - 字符串开始
  • [a-z]{0,3} - 0到3个小写ASCII字母(需要3个字母,删除0,
  • z - z
  • $ - 字符串锚定结束。

答案 1 :(得分:-1)

您过早获得标识符

/^[a-z]{0,3}[z]$/m

You can see a working version here

您可以取消[]周围的z。方括号用于定义要匹配的范围或字符列表 - 因为您只匹配其中不需要的字符。

/^[a-z]{0,3}z$/m