查找某些单词的正则表达式

时间:2019-04-15 05:51:01

标签: regex powershell

Full Text = "........ -B D:\ABC -C ........."

我想在D:\ABC-B之间获得-C

如何使用正则表达式获取单词?

3 个答案:

答案 0 :(得分:2)

您可以将模式与lookarounds (?<=-B)\s*(\S*)\s*(?=-C)

一起使用

说明:

(?<=-B)-向后看,可以断言前面是-B

\s*-零个或多个空格字符

(\S*)-零个或多个非空白字符,存储在捕获组中-这是您要获取的字符串

(?=-C)-正向前进,断言之后是-C

Demo

答案 1 :(得分:2)

您可以使用以下示例:

http://localhost:8888/downloads/ios

假设if ($string -cmatch '\s-B\s*(.+?)\s*-C\s'){$sub = $matches[1]} -C之间没有-B,只有正确的一个-C和一个-B订购

答案 2 :(得分:0)

假设以下内容是正确的...

  • 仅一个Options -Indexes
  • 仅跟随需要的文字
  • 仅跟随一个-B

...然后是这只水獭的作品>> -C <<

它做什么...

  • 行首
  • 一个或多个字符
  • 空格,连字符,B,空格
  • 一个捕获组,包含之后和下一个模式之前的所有内容
  • 空格,连字符,C,空格
  • 一个或多个字符
  • 行尾