gpt4 book ai didi

regex - 使用正则表达式反向匹配字符

转载 作者:行者123 更新时间:2023-12-03 18:04:51 25 4
gpt4 key购买 nike

我需要一个正则表达式来匹配从指定位置到第一个字符的字符串。字符串是一些文件名。

  • 我正在使用 Delphi 2010
  • 我的示例字符串是 New Document.extension
  • 如果指定的位置是 4,它应该匹配:新文档

您可以按照以下步骤从“New Document.extension”获取“New docu”:

  • 首先删除扩展名。你最终得到了“新文档”
  • 删除最后 4 个字符。你得到“新文档”。

对于“This Is My Longest Document.ext1.ext2”示例:

  • 去掉扩展名,你会得到:“This Is My Longest Document.ext1”
  • 去掉最后 4 个字符。您会得到:“这是我最长的文档。”

最佳答案

所以你想要整个字符串到最后一个点之前的倒数第四个位置?没问题:

德尔福.NET:

ResultString := Regex.Match(SubjectString, '^.*(?=.{4}\.[^.]*$)').Value;

解释:

^       # Start of string
.* # Match any number of characters
(?= # Assert that it's possible to match, starting at the current position:
.{4} # four characters
\. # a dot (the last dot in the string!) because...
[^.]* # from here one only non-dots are allowed until...
$ # the end of the string.
) # End of lookahead.

关于regex - 使用正则表达式反向匹配字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6711163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com