c# - 将'"'作为符号而不是语法
问题描述
目标:
使正则表达式代码在 C# 代码中工作
问题:
为了使正则表达式代码在 C# 中工作,我错过了什么语法。来自https://regexr.com/578ul的正则表达式代码有效,但不适用于 onelinegdb ( https://www.onlinegdb.com/HycbSKxAL )
我有一个符号'"',它是正则表达式代码的一部分,但 csharp 认为它是 c# 的一部分,而不是符号。
正则表达式
,["0x465a27d8333756e1:0x66460f22856aea3b","broadway 22, 123 45 ny",null,[null,null,55.0359401,13.9717872]
,0,1]
C# 代码
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"","broad.*]";
string input = @",["0x465a27d8333756e1:0x66460f22856aea3b","broadway 22, 123 45 ny",null,[null,null,55.0359401,13.9717872]
,0,1]"
foreach (Match m in Regex.Matches(input, pattern))
{
Console.WriteLine(m.Value);
}
}
}
正则表达式:
https ://regexr.com/578ul
Onlinegdb 与 C# 代码:
https ://www.onlinegdb.com/HycbSKxAL
谢谢!
解决方案
要在逐字字符串中转义"
字符,您可以使用另一个字符,因此其中的每次出现都将被转换为单个字符:"
""
"
var str = @""""; // string consisting of one "
因此,您的模式将如下所示:
string pattern = @""",""broad.*]";
并输入:
string input = @",[""0x465a27d8333756e1:0x66460f22856aea3b"",""broadway 22, 123 45 ny"",null,[null,null,55.0359401,13.9717872]
,0,1]";
\
但在这种特殊情况下,使用简单的字符串转义似乎会更容易:
string pattern = "\",\"broad.*]";
推荐阅读
- c++ - 试图同时读取两个文件
- javascript - Express.js 与 EJS 应用程序错误:编辑表单未指示帖子的当前类别
- reactjs - 如何在 React 中将 svg 字符串呈现为图像?
- python - 避免 Seaborn barplot 颜色饱和度降低
- c++ - 编译 mongodb-cxx-driver 时对 bsoncxx 的未定义引用
- javascript - Google Apps 脚本:当两个数组匹配时合并数组
- java - 导入 excel 时出错:无法初始化类 org.apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMarshaller
- javascript - 多线程上下文中的 Performance.now()
- android - Room @Transaction 和 Rx 可完成
- microsoft-graph-api - 无法使用图形 api 获取频道