Powershell -如何从文件夹's .cs文件中找到所有匹配正则表达式的字符串

本文关键字:字符串 正则表达式 文件 cs 文件夹 Powershell | 更新日期: 2023-09-27 18:06:54

我想从所有.cs类文件中找到所有字符串(在双引号内),除了注释(双斜杠)。这就是我到目前为止所做的,它不会忽略注释行,也不只是返回字符串本身(双引号内的内容)。有人能帮我改进这个Powershell脚本吗?谢谢你!我正在运行Win7

gci -path C:'Working'MyFolder -Include *.cs -Exclude *Designer.cs, *AssemblyInfo.cs -Recurse |
select-string -pattern ''"[^'"]*'"'  | export-csv oput.csv

Powershell -如何从文件夹's .cs文件中找到所有匹配正则表达式的字符串

你可以试试这个吗:

select-string -pattern '(?<!([/]{2}.*))'".*'"'

使用Positive and Negative look在后面可以这样翻译:

'".*'"查找双引号之间的任何字符

(?<!([/]{2}.*))放在前面表示:前面没有[/]{2}.*(两个/后面有任何字符)

如果您想检索字符串本身:

gci -path C:'Working'MyFolder -Include *.cs -Exclude *Designer.cs, *AssemblyInfo.cs -Recurse |get-content | % {if ($_ -match '(?<!([/]{2}.*))'"(.*)'"'){$matches[0]}}