正则表达式从字符串中提取前三个字符

时间:2012-11-16 00:44:58

标签: regex

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

由于 史蒂芬

1 个答案:

答案 0 :(得分:27)

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

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

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

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

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

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