我想知道是否有可能首先找到以某个特定单词开头的行,而不是在此行中搜索其他世界。
我有这个正则表达式http://www.regexr.com/3bsl1
字符串
Empregados/Avulsos 0,00 0,00 0,00 0,00 0,00
Contribuintes Individuais 0,00 0,00 0,00 0,00 0,00
RAT 34.792,90 0,00 0,00 0,00 34.792,90
RAT - Agentes Nocivos 0,00 0,00 0,00 0,00 0,00
Valores Pagos a Cooperativas 0,00 0,00 0,00 0,00 0,00
Adicional Cooperativas 0,00 0,00 0,00 0,00 0,00
Comercialização Produção 0,00 0,00 0,00 0,00 0,00
Evento Desportivo/Patrocínio 0,00 0,00 0,00 0,00 0,00
COMP 07 Empregados/Avulsos INSCRIÇÃO bla ble bli 082 sk3$ ^# x sms
COMP 0 283 20 3882 03
正则表达式
/^COMP\s*?(Empregados/Avulsos)/
所以这里的目标是找到以COMP开头的行,这个行正在运行,而不是立即跳转到Empregados / Avulsos,但是这部分不起作用。
感谢。
答案 0 :(得分:2)
答案 1 :(得分:2)
如果您使用non-capturing group,则可以匹配该行的起始部分“COMP”,然后只捕获您想要的位,即Empregados/Avulsos
部分。
正则表达式看起来像这样:
/(?:^COMP.*)(Empregados/Avulsos)/gm
这样,唯一的匹配,$1
等于“Empregados / Avulsos”。