У меня есть вопрос, связанный с регулярными выражениями в C#.Строки соответствия RegEx
Я хочу найти текст между "символами Примера:.
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"]
)
Надеюсь, я сделал свое намерение понятным.
Возможная публикация http://stackoverflow.com/questions/5153980/regexp-skip-pattern –