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