查找以某些内容开头的行,并在此行中找到单词

时间:2015-09-29 02:18:33

标签: javascript regex

我想知道是否有可能首先找到以某个特定单词开头的行,而不是在此行中搜索其他世界。

我有这个正则表达式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,但是这部分不起作用。

感谢。

2 个答案:

答案 0 :(得分:2)

测试一下:

/^COMP.*?(Empregados\/Avulsos)/gm

工作示例:http://www.regexr.com/3bsla

注意:始终转义/.[]等特殊字符

答案 1 :(得分:2)

如果您使用non-capturing group,则可以匹配该行的起始部分“COMP”,然后只捕获您想要的位,即Empregados/Avulsos部分。

正则表达式看起来像这样:

/(?:^COMP.*)(Empregados/Avulsos)/gm

这样,唯一的匹配,$1等于“Empregados / Avulsos”。

Try it out on Regexr