我有一个与c#正则表达式相关的问题。
我想找到在"字符之间的文本。
例子: Enum resultado = SPDialogBox.Instance.show<ACTION_ENUMs.TORNEO_SORTEAR>("Esto es una prueba");
匹配项:Esto es una prueba
但在这个例子中
Enum resultado = SPDialogBox.Instance.show<ACTION_ENUMs.TORNEO_SORTEAR>("Esto es una prueba");
pKR_MESAPUESTOASIGNACION.CONFIGTORNEO_ID = Valid.GetInt(dr.Cells["CONFIGTORNEO_ID"].Value);
匹配项:Esto es una prueba
,但不能匹配CONFIGTORNEO_ID
,因为它是在方括号([]
)之间写的。
简而言之,我想匹配双引号("
)字符之间的字符串,但该字符串不能被写在方括号([]
)中。
这是我的代码:
var pattern = "\"(.*?)\"";
var matches = Regex.Matches(fullCode, pattern, RegexOptions.Multiline);
foreach (Match m in matches)
{
Console.WriteLine(m.Groups[1]);
}
该模式匹配所有位于
"
字符之间的字符串,但我如何修改该模式以排除在方括号中编写的字符串?--编辑---
以下是另一个示例:
List<String> IdSorteados = new List<String>();
int TablesToSort = 0;
foreach (UltraGridRow dr in fg.hfg_Rows)
{
if (dr.Cells["MESA_ID"].Value == DBNull.Value && dr.Cells["Puesto"].Value == DBNull.Value && !Valid.GetBoolean(dr.Cells["BELIMINADO"].Value) && (Valid.GetBoolean(dr.Cells["Seleccionado"].Value) || SortearTodo))
TablesToSort++;
}
表达式不能匹配
MESA_ID
(在Cells ["MESA_ID"].Value
中找到)或Puesto
(在Cells ["Puesto"].Value
中找到)。它也不能匹配].Value == DBNull.Value && dr.Cells [
(在["MESA_ID"].Value == DBNull.Value && dr.Cells["Puesto"]
中找到)。希望我已经清楚表达了我的意图。