查找单词第一次出现和特殊字符第一次出现之前的字符串 beetwen



我有以下日志字符串,我只需要从它们那里获取MedSoftware部分,这意味着

  • .com
  • 在第一次发生之前

SERVERNAME2018-03-08 18:40:28 文件:"x:_default\app.address.com\MedSoftware.data\BackEnd.Technical.Dictionaries.Service-180308182311\Web.config", 名称:"dictionaries_data_product", CS: "###connectionStrings.dictionaryionariesdataproduct.connectionString" info: 初始化字符串的格式不符合从索引 0 开始的规范。 6069

现在我的正则表达式看起来像这样:

((?<=.com\).*(?=\))

并在.com后捕获所有内容,但转到最后一次出现

您可以使用((?<=.com\)[^\]*(?=\))

我基本上用[^\]*替换了.*,以便它在第一次出现时停止。

演示

.com\([^\]+)\.*

恕我直言,您不需要专门捕获第一个com的东西,因为无论如何,这是RE通常所做的。如果你捕获除反斜杠以外的任何东西,那也不需要贪婪的说明符。只有需要屏蔽的反斜杠以及文字点有点棘手。

捕获组\1或$ 1或任何它在Powershell上,现在包含MedSoftware。

演示

最新更新