29

使用正则表达式如何从字符串中提取前 3 个字符(无论字符如何)?另外使用单独的表达式我想从字符串中提取最后 3 个字符,我该怎么做?我在网上找不到任何有效的例子,所以如果你知道的话,谢谢。

谢谢史蒂文

4

1 回答 1

43

任何编程语言都应该有比使用正则表达式(即某种substring函数或slice字符串函数)更好的解决方案。但是,这当然可以使用正则表达式来完成(如果您想将它与文本编辑器之类的工具一起使用)。您可以使用锚点来指示字符串的开头或结尾。

^.{0,3}
.{0,3}$

这最多匹配一个字符串的 3 个字符(尽可能多)。我添加了“0 到 3”语义而不是“恰好 3”,这样这也适用于较短的字符串。

请注意,.通常匹配换行符以外的任何字符。通常有一个sorsingleline选项可以改变这种行为,但是没有选项设置的替代方案是这样的,(它真正匹配任何3 个字符):

^[\s\S]{0,3}
[\s\S]{0,3}$

但正如我所说,如果你想在一些提供其他字符串操作函数的代码中使用这种方法,我强烈建议不要使用这种方法。另外,您应该真正深入研究教程

于 2012-11-16T00:53:12.747 回答