正则表达式powershell

时间:2015-07-23 19:02:42

标签: .net regex powershell

powershell中用于读取“JPEG”和“5”之间的值的正则表达式是什么。

JPEG_5.10.002.000.txt
JPEG_pnrl_5.10.002.000.txt
JPEG_pnrl_Explorer_5.10.002.000.txt
jpeg_fsrg_5.10.002.000.txt
JPEG_Help_5.10.002.000.txt
JPEG_5.10.002.001.txt
JPEG_pnrl_5.10.002.001.txt
JPEG_Help_5.10.002.001.txt
JPEG_pnrl_Explorer_5.10.002.002.txt
JPEG_fsrg_5.20.002.002.txt
JPEG_Help_5.20.002.002.txt
JPEG_pnrl_5.20.002.003.txt
JPEG_fsrg_5.20.002.003.txt

我使用以下正则表达式来获取值,但它不起作用。在“JPEG”和“5”之间获取值的最佳模式是什么。

$r = [regex] "[JPEG]+([a-zA-Z]+).*"
$match = $r.match("JPEG_pnrl_Explorer_5.10.002.000.txt")
$text = $match.groups[1].value

1 个答案:

答案 0 :(得分:2)

尝试JPEG(.*?)5

无需捕获整个字符串。这将通过第一个5捕获所有内容。 ?使其不贪婪,因此无法捕获最后一个5