
[英]MySqlBackup.NET QueryExpress.ExecuteScalarStr() outputs strings enclosed in double-quotes instead of backticks
[英]Find strings enclosed within different types of double quotes
我正在编写一个正则表达式来提取包含在不同类型的双引号( "
, “
, ”
)中的字符串。
到目前为止,我已经编写了下面的代码,它按预期工作,但正则表达式很大,我认为它可以改进。
//mergeField = {{field(“dd/MMM/yyyy")}}
var startIndex = mergeField.IndexOf('(');
var endIndex = mergeField.IndexOf(')');
string format = mergeField.Substring(startIndex: startIndex + 1, length: endIndex - startIndex - 1);
string formatSpecifierPattern = string.Format(@"{0}|{1}|{2}|{3}|{4}|{5}", @"(\“.*?\”)|(\”.*?\”)", "\\\"(.*?)\\\"", "“(.*?)\\\"", "\\\"(.*?)“", "”(.*?)\\\"", "\\\"(.*?)”");
MatchCollection matches = Regex.Matches(format, formatSpecifierPattern);
在上面的代码中,mergeField 作为参数传递,它可以有不同的引号组合。 有什么办法可以简化我的正则表达式并处理所有组合( "
, “
, ”
)
输入 - 预期 Output
{{field(“dd/MMM/yyyy")}} -> “dd/MMM/yyyy"
{{field("dd/MMM/yyyy“)}} -> "dd/MMM/yyyy“
{{field("dd/MMM/yyyy")}} -> "dd/MMM/yyyy"
{{field(“dd/MMM/yyyy“)}} -> “dd/MMM/yyyy“
{{field(“dd/MMM/yyyy“)}} -> “dd/MMM/yyyy“
{{field(”dd/MMM/yyyy")}} -> ”dd/MMM/yyyy"
{{field("dd/MMM/yyyy”)}} -> "dd/MMM/yyyy”
{{field(”dd/MMM/yyyy”)}} -> ”dd/MMM/yyyy”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.