在两个单词之间应用正则表达式
Apply regex between two words
我需要确认在我的文本的一部分之间是否存在一个's01's
,所以我需要一个分隔符。
我有这么大的文字:
...
RESUMO DO FECHAMENTO - EMPRESA MODALIDADE : "BRANCO"-RECOLHIMENTO AO FGTS E DECLARAÇÃO À PREVIDÊNCIA 858600000039 672701801102 107527053051 769205500015 Nº ARQUIVO: NmDA0FH71Ig0000-3 Nº DE CONTROLE: BdmBPppCuyu0000-1 INSCRIÇÃO: 57.692.055/0001-27 COMP: 11/2010 COD REC:115 COD GPS: 2100 FPAS: 612 OUTRAS ENT: 3139 SIMPLES: 1 RAT: 3.0 FAP: 1.57 RAT AJUSTADO: 4.71 TOMADOR/OBRA: INSCRIÇÃO: LOGRADOURO: AVENIDA ALEXANDRE COLARES 500 3 ANDAR BAIRRO: VILA JAGUARA CNAE PREPONDERANTE: 4930202 CIDADE: SAO PAULO UF: SP CEP: 05106-000 CNAE: 4930202 CAT QUANT REMUNERAÇÃO SEM 13º REMUNERAÇÃO 13º BASE CÁL PREV SOC BASE CÁL 13º PREV SOC 07 2 1.100,35 429,09 1.100,35 0,00
...
在这篇特别的文章中,我需要确认是否存在 01 和 07,但如果 01 不存在,则正则表达式正则表达式试图在文本的其他部分捕获,如下所示:http://regexr.com/3d03m
我怎样才能使正则表达式仅在这两个词之间工作?可能吗?
正则表达式:(?: RESUMO DO FECHAMENTO - EMPRESA MODALIDADE : "BRANCO")(.*? 01 )(?:.*?(?=TOTAIS:))
您遇到的问题是.*?
- 尽管称为"懒惰"或"不情愿" - 仍然尝试匹配尽可能多的字符以返回有效的匹配。由于.
匹配除换行符以外的任何字符,因此它匹配前导多字符分隔符(以及尾随分隔符)。
如果您有 1 个字符的分隔符,如 [
或 ]
,您将使用否定字符类[^']'[]*
而不是 .*?
。在这里,您可以使用温和的贪婪令牌:
(?:(?!TOTAIS:).)*
查看正则表达式演示
若要支持多行文本,必须将.
替换为 ['s'S]
。
但是,此解决方案相当耗费资源,因为我们基本上检查每个位置,如果它开始序列 TOTAIS:
,我们将停止匹配。更有效的方法是展开此令牌,例如:
[^T]*(?:T(?!OTAIS:)[^T]*)*
查看另一个正则表达式演示
此版本也跨换行符匹配。它匹配 T
以外的 0* 个字符,然后匹配 0* 个T
序列,该序列后不跟 OTAIS:
后跟 0* 出现的 T
以外的字符。但是,它无法检查TOTAIS
是否是一个完整的单词。
明白你想做什么..对不起..但是根据您的标题"在两个单词之间应用正则表达式"的内容,我假设,如果"01"和"07"来了,你想在两者之间加上逗号。如果是这样的话,那么它将是:(Perl)
s/(01)''s+(07)/''1,''2''3/g;
- JS中单词之间的空格
- 突出显示jQuery中单词之间的空格
- 两个单词之间的Javascript差异
- 在某些情况下,“text”方法会删除单词之间的空格
- 使用正则表达式获取多个单词,单词之间留有空格
- 如何删除两个单词之间的字符串
- 我在angular JS中选择了一个默认选项,并删除了两个单词之间的下划线
- 如何删除句点和前一个单词之间的空格
- 在两个单词之间应用正则表达式
- 什么是用于删除大写字母之间的空格的正则表达式,但在单词之间保留空格
- jQuery:如何在单词之间修剪换行符和制表符
- 谷歌邮件应用程序脚本中的正则表达式困难 - 在两个单词之间选择单词
- 正则表达式删除所有白色景观,除了单词之间的一个
- 多次捕捉两个相同单词之间的所有内容
- 获取两个单词之间的每个字符串
- Javascript/REGEX:删除字符串中以特定字母开头的特定文本(单词),单词之间用空格分隔
- 替换两个单词之间的文本
- Jquery在HTML中的两个特定单词之间切换内容
- 如何在两个单词之间提取最少的字符
- XRegExp接受所有UTF-8字符,单词之间有空格,排除某个符号,并且没有尾随空格