[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
娱乐一下:
  1. $s = @'
  2. hello11world
  3. -
  4. hello2go
  5. >
  6. world5to
  7. @hello
  8. hello
  9. @world
  10. world
  11. '@
  12. $a='添加字符串';
  13. [regex]::Replace($s, '(?s)^[^@]+', {
  14. if([string]::IsNullOrEmpty($args.Value.Trim())){return $args.Value;}
  15. [int[]]$num=[regex]::Matches($args.Value, '\d+').Value;
  16. $n=1;
  17. while($true){if($num -ne$null -and$num.Contains($n)){$n++}else{break;}}
  18. return "{0}`r`n$a$n`r`n`r`n" -f$args.Value.TrimEnd();
  19. })
复制代码
1

评分人数

    • meixi: 乐于助人技术 + 1
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 8# meixi
  1. [regex]::Matches($args.Value,'(?m)^(?:(?!\d).)*\d+').value -replace '\D+'
复制代码
复制代码
不再回复,多看一下正则即可。
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

  1. [regex]::Matches($args.Value,'(?m)(?<=^[^\d]*)\d+').value;
复制代码
也可以。 确定左边界就行。然后减少匹配次数。
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

返回列表