我想从除了注释(双斜杠)之外的所有.cs类文件中找到所有字符串(在双引号内)。这是我到目前为止所提出的,并且它不会忽略注释行,并且它不仅仅返回字符串本身(双引号内的内容)。有人可以帮我改进这个Powershell脚本吗?谢谢。我正在运行Win7
gci -path C:\Working\MyFolder -Include *.cs -Exclude *Designer.cs, *AssemblyInfo.cs -Recurse |
select-string -pattern '\"[^\"]*\"' | export-csv oput.csv
答案 0 :(得分:1)
select-string -pattern '(?<!([/]{2}.*))\".*\"'
使用Positive and Negative Lookbehind可以像这样翻译:
\".*\"
查找双引号
(?<!([/]{2}.*))
表示:前面没有[/]{2}.*
(两个/后跟任何字符)
如果您想自己检索字符串:
gci -path C:\Working\MyFolder -Include *.cs -Exclude *Designer.cs, *AssemblyInfo.cs -Recurse |get-content | % {if ($_ -match '(?<!([/]{2}.*))\"(.*)\"'){$matches[0]}}