c# - 如何使用正则表达式仅在字符串内部搜索(在双引号之间)
问题描述
这是一个非常基本的正则表达式问题。
假设我的代码中有很多字符串常量(用双引号括起来)。其中一些字符串包含类子字符串,如"declassification"
本例中的常量:
public class Names {
string text = "declassification";
string classified = "foo";
}
所有 3 行都包含class,但"declassification"
对我来说很有趣,因为它在双引号之间。
我做了什么:
我发现了这个问题:Regex.Matches c# double quotes。它告诉我如何在这样的双引号中获取所有内容\"(.*?)\"
: . 但我需要在双引号之间的任何位置搜索特定字符串。
这个问题:使用正则表达式提取双引号之间的值也告诉我使用这个:@"""New[^"":]+:[^""]+"""
这对我不起作用。
查找结果:
错误的:
公共类名称{
string text = "去分类";
字符串类ified = "foo";
预期的:
string text = "去分类";
问题:
当我使用Visual Studio Find Tool进行搜索时,如何仅搜索字符串常量而忽略其余文件?
解决方案
提示:.*
表示任意数量的任意字符
使用正则表达式,如果您搜索\"class\"
它完全匹配"class"
。
要匹配在 之前和之后"<anything>class<anything>"
添加任意数量的任意字符class
:
\".*class.*\"
要匹配'<anything>class<anything>'
(例如 javascript 字符串),请使用以下命令:
["'](.*)(class)(.*)["']
推荐阅读
- excel - 从 Excel 检索 Outlook 电子邮件属性时出现运行时错误 287
- reactjs - 我可以自动对焦 mapbox-gl 反应地理编码器吗
- powershell - 强制删除-NetNat
- ios - 如何在我的代码中实现反调试?
- python - SQL Server Windows 身份验证使用其他人的凭据
- facebook - FB Messenger Bot & Heroku - 多个实例
- java - 传递参数后精度损失
- python - 如何转换每列的每一行中包含列表的数据框
- excel - 将 Postgres 数据复制到 Excel
- macos - 为什么我不能在 Kafka 中创建主题?