我正在尝试使用 C# 对匹配相同模式的正则表达式进行分组。 这是一个我无法开始工作的小例子。
我需要获取所有单引号之间的字符串(例如 CodigoEmpresa)
uses MainRecord, objErrorList, SysUtils, XMLMXMWebServiceReturn, objMainProcesso,
objProcessoWS, objProcessaRelatorioQuickReport, QuickRpt, Forms,
RBalanc, RBalancete, RBaCCMens, RBalaMensal, RBalaMensalCons,
objcadcontabilidade, objContabilidadeValidacoes;
const
CODIGO_EMPRESA = 'CodigoEmpresa';
ANO_MES = 'AnoMes';
RELATORIO_POR = 'RelatorioPOR';
CONTA_INI = 'ContaIni';
CONTA_FIM = 'ContaFim';
GRAU_CONTA = 'GrauConta';
CCUSTOS_INI = 'CCustosIni';
CCUSTOS_FIM = 'CCustosFim';
GRAU_CCUSTOS = 'GrauCCustos';
DETALHAR_CONSOLIDADO = 'DetalharConsolidado';
DESCONSIDERAR_ENCERRAMENTO = 'DesconsiderarEncerramento';
QUEBRA_CCUSTO = 'QuebraCCusto';
CONTAS_SEM_MOVIMENTO = 'ContasSemMovimento';
CODIGO_ALTERNATIVO = 'CodigoAlternativo';
const
ERROR_BALANCETE_MENSAL_0001 = 'BALANC0001';
ERROR_BALANCETE_MENSAL_0002 = 'BALANC0002'; //Empresa Inexistente
ERROR_BALANCETE_MENSAL_0003 = 'BALANC0003';
ERROR_BALANCETE_MENSAL_0004 = 'BALANC0004';
ERROR_BALANCETE_MENSAL_0005 = 'BALANC0005';
ERROR_BALANCETE_MENSAL_0006 = 'BALANC0006';
ERROR_BALANCETE_MENSAL_0007 = 'BALANC0007';
ERROR_BALANCETE_MENSAL_0008 = 'BALANC0008';
到目前为止我已经尝试过了:
Match match = Regex.Match(delphiFileInText, @"const.+=\s*'(?<property>[\d\w]+)'", RegexOptions.IgnoreCase | RegexOptions.Singleline);
但我得到的只是最后一场比赛 (BALANC0008);
我希望我能说清楚。感谢帮助
最佳答案
只需将您的表达式替换为
'(?<property>[\d\w]+)'
将获得所有这些。
关于c# - 正则表达式 - 匹配相同模式的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19937454/