[英]Simple regex match question
I have the following string "sometextsometextSiteId-111-aaaaasometext" 我有以下字符串“ sometextsometextSiteId-111-aaaaasometext”
If the string contains "SiteId-111-aaaaa" I would like to get the 111-aaaaa part. 如果字符串包含“ SiteId-111-aaaaa”,我想获取111-aaaaa部分。 (any number, any char)
(任何数字,任何字符)
"sometextsometextSiteId-111-aaaaasometext" -> 111-aaaaa
"sometextsometextSiteId-123-abcdesometext" -> 123-abcde
"sometextsometextsitId-111-aaaaasometext" -> (nothing)
"SiteId-999-QWERTPOIPOI" -> "999-QWERR"
I guess this should be possible to do? 我想这应该可行吗?
Any hints? 任何提示?
Thanks Larsi 谢谢拉尔西
(?<=SiteId-)([0-9]+-[a-zA-Z]{5})
should capture that part. 应该抓住那部分。
PowerShell test: PowerShell测试:
$re = '(?<=SiteId-)([0-9]+-[a-zA-Z]{5})'
'sometextsometextSiteId-111-aaaaasometext',
"sometextsometextSiteId-123-abcdesometext",
"sometextsometextsitId-111-aaaaasometext",
"SiteId-999-QWERTPOIPOI" |
% {
$x = [regex]::Matches($_, $re)
Write-Host $_ - $x
}
yields 产量
sometextsometextSiteId-111-aaaaasometext - 111-aaaaa
sometextsometextSiteId-123-abcdesometext - 123-abcde
sometextsometextsitId-111-aaaaasometext -
SiteId-999-QWERTPOIPOI - 999-QWERT
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.