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

来个很low的
f = False
j = ""
For Each i In Split(code,vbCrLf)
If i = "public class cs" Then
f = True
j = i
Else
j = j + vbCrLf + i
If f = True And i = "}" Then Exit For
End If
Next
If InStr(j,"public string cd(") > -1 Then MsgBox "cd在cs里"

如果你的缩进做的很好的话……

TOP

再改一下10楼的用命名组合并到一条正则里,不用过两次了
  1. $r='(?<a>\n\s*)(private|public|static|async|(?<b>(\b\S+|\([^()]+\))\s*))*(?<c>class\s+cs\s*(\([^)]*\))*\s*\{(?>[^{}\/\x22\x27]+(?<d>cd|abc)(\s*\([^)]*\))*|[^{}\/\x22\x27]+|\/\/[^\n]+|/\*(\n|.)*?\*/|[\x22\x27](\n|.)*?[\x22\x27]|[^{}]|\{(?<DEPTH>)|\}(?<-DEPTH>))*?(?(DEPTH)(?!))\})'
  2. [regex]::Matches($s, $r).groups|?{$_.name -eq 'd'}|%{$_.captures.value}
复制代码
1

评分人数

TOP

本帖最后由 小白龙 于 2023-5-26 17:45 编辑

回复 17# idwma

刚看到, 多谢大佬   

大佬能帮看看这个吗? 这个太综合 , 把以前的正则都利用起来了
http://www.bathome.net/thread-66246-1-1.html

TOP

返回列表