Powershell REGEX提取最后一个字

时间:2013-10-15 22:35:38

标签: regex powershell

如果我有一个PowerShell字符串,例如“John Doe Bloggs”或“John Bloggs”。 我想在空格后提取最后一个字,所以在上面的例子中,它将是“Bloggs”我将使用什么REGEX。解决方案必须是REGEX。我已经google了我的思绪,仍然没有更近。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:3)

这是一个简单的例子:

$string = 'John Doe Bloggs'
$regex = '.+\s(.+)'
$string -replace $regex,'$1'

Bloggs

答案 1 :(得分:3)

答案“必须”是一个正则表达式真是太糟糕了(我猜这是某种家庭作业吗?)因为没有它就很简单。

$string = 'John Doe Bloggs';
$string.split(' ')[-1];

答案 2 :(得分:1)

这个正则表达式将在输入中找到最后一个单词:

(?<word>\w+)[\s\,\.\?\!]*$

匹配位于名为word的组中 - 整个表达式匹配最后一个单词和可选的空格/(某些)标点符号。任何尾随空格/标点符号都不属于word组。