【发布时间】:2018-11-01 14:53:43
【问题描述】:
目标是仅从字符串中获取空格字符之前的前导数字。当我在 PowerShell 中使用 -replace 时,会包含前导字母字符。为什么会有所不同?
PS C:\src\t> 'aasdf123 456' -replace '([\d]+) .*', '$1'
aasdf123
这不会发生在产生的regex101.com 上。
123
不重复
问题不在于如何获得号码。问题是为什么'aasdf' 匹配\d。捕获组仅指定\d。
【问题讨论】:
-
你需要匹配,而不是替换。
-
'aasdf123 456' -替换'^([a-zA-Z]+)([\d]+)\s(.*)$', '$2'
标签: regex powershell