我正在寻找一种自动执行手动任务的方法。我不确定它是否可能。
我必须在项目文件夹的所有文件中找到一个字符串模式。它是C#/ .net项目的项目(如果这很重要的话)。我还必须编写模式出现的函数名称和文件名,以及匹配它的完整字符串。到目前为止,我已经完成了PowerShell
:
PS C:\trunk> Get-ChildItem "C:\trunk” -recurse | Select-String -pattern
“AlertMessage” | group path | select name
这将打印字符串模式匹配的文件名。
PS C:\trunk> Select-String -pattern "AlertMessage" -path
"C:\trunk\VATScan.Web\Areas \Administration\Controllers\HomeController.cs”
这将打印在给定文件中与其匹配的行号和字符串。
关于如何实现目标的任何指示?
答案 0 :(得分:1)
绝不是完美的,但至少我属于指针类别
$text = @"
Public Sub Bitchin()
Dim AlertMe
End Sub
Private Sub Function() As something
End Function
"@
[void]($text -match "(?smi)((public|private)\W(sub|function)\W(.+?)\(.*?Alertme)")
$Matches[4]
这将查找一个Function或Sub例程声明,在单词之间有一个空格,后面出现单词AlertMe
需要从$Matches
获取第4项,因为有许多捕获组。
可以找到使用正则表达式的更简明的解释here
希望这会让你开始或至少思考。我不熟悉c#声明,因为$text
更像是一个VBA示例,但你应该明白这一点。