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

这是我测试的文件
    https://t.wss.ink/f/bax41qzzn9f 复制链接到浏览器打开

TOP

回复 5# 小白龙


    用win7 5.1测了也是有的

TOP

回复 4# idwma


    我的没有任何输出, window7 x64 powershll 5.1

TOP

回复 3# 小白龙


    测过是有的

TOP

回复 2# idwma


    多谢大佬, 试了一下, 没有输出
  1. $s = @'
  2. using System;
  3. public class xx
  4. {
  5. public static void Main()
  6. {
  7. string s = "xzc abc(s \"(abc)\")); dfg()";
  8. string p = @"}";
  9. string q = @"}{{";
  10. string[] result = matches(s, p);
  11. }
  12. public static string hello(string s, string p)
  13. {
  14. Match match = Regex.Match(s, p);
  15. string fullMatch = match.Value;
  16. }
  17. }
  18. public class zz
  19. {
  20. public static void Main()
  21. {
  22. string s = "xzc abc(s \"(abc)\")); dfg()";
  23. string p = @"}";
  24. string q = @"{{}";
  25. string[] result = matches(s, p);
  26. }
  27. public static string hello(string s, string p)
  28. {
  29. Match match = Regex.Match(s, p);
  30. string fullMatch = match.Value;
  31. }
  32. }
  33. '@
  34. function getFuncText($a, $b)
  35. {
  36. if (!$b) { $b = '\S+' }
  37. $r = '(?<a>\n\s*)(private|public|static|async|(?<b>(\b\S+|\([^()]+\))\s*))*(?<c>' + $b + '\s*(\([^)]*\))*\s*\{(?>(?<d>(\n\s*)(private|public|static|async|(?<b>(\b\S+|\([^()]+\))\s*))*(?<c>' + $a + '\s*(\([^)]*\))*\s*\{(?>[^{}\/\x22\x27]+|\/\/[^\n]+|/\*(\n|.)*?\*/|[\x22][^\x22]*[\x22]|[\x27][^\x27]*[\x27]|[^{}]|\{(?<DEPTH>)|\}(?<-DEPTH>))*?(?(DEPTH)(?!))\}))|[^{}\/\x22\x27]+|\/\/[^\n]+|/\*(\n|.)*?\*/|[\x22\x27](\n|.)*?[\x22\x27]|[^{}]|\{(?<DEPTH>)|\}(?<-DEPTH>))*?(?(DEPTH)(?!))\})'
  38. [regex]::Matches($s, $r).groups | ?{ $_.name -eq 'd' } | %{ $_.captures.value }
  39. }
  40. getFuncText  -a "Main"
  41. "--------------------------"
  42. getFuncText -a "Main" -b "zz"
复制代码

TOP

本帖最后由 idwma 于 2023-5-26 18:55 编辑
  1. function getFuncText($a,$b){
  2. if(!$b){$b='\S+'}
  3. $r='(?<a>\n\s*)(private|public|static|async|(?<b>(\b\S+|\([^()]+\))\s*))*(?<c>'+$b+'\s*(\([^)]*\))*\s*\{\n(?>(?<d>\s*(private|public|static|async|(?<b>(\b\S+|\([^()]+\))\s*))*(?<c>'+$a+'\s*(\([^)]*\))*\s*\{(?>[^{}\/\x22\x27]+|\/\/[^\n]+|/\*(\n|.)*?\*/|[\x22][^\x22]*[\x22]|[\x27][^\x27]*[\x27]|[^{}]|\{(?<DEPTH>)|\}(?<-DEPTH>))*?(?(DEPTH)(?!))\}))|[^{}\/\x22\x27]+|\/\/[^\n]+|/\*(\n|.)*?\*/|[\x22\x27](\n|.)*?[\x22\x27]|[^{}]|\{(?<DEPTH>)|\}(?<-DEPTH>))*?(?(DEPTH)(?!))\})'
  4. [regex]::Matches($s, $r).groups|?{$_.name -eq 'd'}|%{$_.captures.value}
  5. }
复制代码

TOP

返回列表