如果我有一个 PowerShell 字符串,例如“John Doe Bloggs”或“John Bloggs”。我想提取空格后的最后一个单词,所以在上面的例子中,我将使用“Bloggs”什么正则表达式。解决方案必须是正则表达式。我已经用谷歌搜索了我的想法,但仍然没有更接近。
任何帮助,将不胜感激。
如果我有一个 PowerShell 字符串,例如“John Doe Bloggs”或“John Bloggs”。我想提取空格后的最后一个单词,所以在上面的例子中,我将使用“Bloggs”什么正则表达式。解决方案必须是正则表达式。我已经用谷歌搜索了我的想法,但仍然没有更接近。
任何帮助,将不胜感激。
答案“必须”是一个正则表达式真的太糟糕了(我猜这是某种家庭作业?)因为没有它很简单。
$string = 'John Doe Bloggs';
$string.split(' ')[-1];
这是一个简单的例子:
$string = 'John Doe Bloggs'
$regex = '.+\s(.+)'
$string -replace $regex,'$1'
Bloggs
此正则表达式将查找输入中的最后一个单词:
(?<word>\w+)[\s\,\.\?\!]*$
匹配在名为的组中word
- 整个表达式匹配最后一个单词和可选的空格/(一些)标点符号。任何尾随空格/标点符号都不会成为该word
组的一部分。