[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] chatgpt写的PowerShell正则平衡组示例改错

刚刚让chatgpt写几个平衡组示例, 但是执行结果都是错的, 求路过大佬改正
也第一次看到正则表达式可以多行表示, 而且行尾还能加注释, C#不能这样玩吧
  1. $pattern = @"
  2. \(
  3.     (?>                     # 开始一个平衡组
  4.         [^()]+              # 匹配除了括号以外的任意字符
  5.         |                   # 或者
  6.         (?<paren>\()        # 匹配左圆括号并将其压入名为paren的平衡组中
  7.         |                   # 或者
  8.         (?<-paren>\))       # 匹配右圆括号并将其弹出名为paren的平衡组中
  9.     )*                      # 重复上述步骤多次
  10.     (?(paren)(?!))          # 如果paren平衡组不为空,则匹配失败
  11. \)
  12. "@
  13. $text = "This is (a (test) string) with (nested (parentheses))."
  14. $matches = [regex]::Matches($text, $pattern)
  15. foreach ($match in $matches) {
  16.     Write-Host $match.Value
  17. }
复制代码

回复 2# idwma


    我让他改了N次, 都改不对

TOP

本帖最后由 小白龙 于 2023-4-11 19:32 编辑

回复 4# idwma

输出结果为空, 什么都没有输出, 应该输出所有括号

TOP

回复 6# idwma


   我用的是win7  ps5.1

TOP

回复 8# idwma


    哎, 问了七八轮了, 还没有答对, 太垃圾了

TOP

回复 10# xczxczxcz


    大佬, 牛X啊, 对正则理解太深刻了, 有什么精华的正则教程链接给推荐一下吗

TOP

回复 13# idwma

什么意思, x大的那两个正则都可以直接出结果的, 在ps5.1

TOP

回复 15# idwma

多谢, 明白了

GPT的答案做个参考就行了, 关键还得自己要懂

TOP

回复 15# idwma

大佬, 像这种能带注释的正则式有点实用, 以后想改的时候, 一目了然, 但是如果表达式中需要空格时怎么办? \s 虽然包含空格, 但还包含其它几个空字符

TOP

返回列表