14 regex
使用正则表达式如何从字符串中提取前3个字符(无论字符如何)?另外使用单独的表达式我想从字符串中提取最后3个字符,我该怎么做?我在网上找不到任何有效的例子,谢谢你们.
谢谢史蒂文
Mar*_*der 28
任何编程语言都应该比使用正则表达式(即某种substring函数或slice字符串函数)有更好的解决方案.但是,这当然可以使用正则表达式(如果您想使用文本编辑器之类的工具).您可以使用锚点来指示字符串的开头或结尾.
^.{0,3}
.{0,3}$
Run Code Online (Sandbox Code Playgroud)
这最多匹配一个字符串的3个字符(尽可能多).我添加了"0到3"语义而不是"正好3",因此这也适用于较短的字符串.
请注意,.通常匹配除换行符之外的任何字符.通常有一个s或singleline选项可以改变这种行为,但是没有选项设置的替代方法就是这样(它真正匹配任何 3个字符):
^[\s\S]{0,3}
[\s\S]{0,3}$
Run Code Online (Sandbox Code Playgroud)
但正如我所说,如果你想在一些提供其他字符串操作函数的代码中使用它,我强烈建议不要使用这种方法.另外,你应该深入研究一个教程.