regex npp - 搜索字符串必须后跟特定的字符,但不包括那些字符

时间:2017-05-29 15:58:32

标签: regex notepad++

在下面的一行中,我需要将这两行分成一行,方法是用空格替换换行符和空格。

Provisioned Links : 2/14, 2/24, 7/10, 7/12,
7/25, 7/31, 7/32

因此我有这个正则表达式(在Notepad ++中):

(\r\n|\n)\s+[0-9]\/[0-9]*

问题:匹配包括7月25日 - 我需要它来查找#/##但不包括它。

如果我使用此lookaround模式:

(\r\n|\n)\s+(q=[0-9]\/[0-9])*

以换行符+空格开头的所有行都会匹配,无论它们是否以#/##结尾。

我做错了什么?

regex101 fiddle to play with

2 个答案:

答案 0 :(得分:1)

小心:

  • 您应该纠正构建前瞻的方式:(?=....)
  • 外观无法量化。

所以你真正需要的是[\r\n]\s+(?=[0-9]\/[0-9]*)

Live demo

答案 1 :(得分:0)

为了规范化空白,为什么不简单地用"之后的额外空格替换逗号。用"逗号加一个制表符" ?

您根本不需要这种复杂的模式,因为,\s*同时匹配空格,换行符和制表符:

模式:,\t

替换字符串:{{1}}

https://regex101.com/r/T0QJnq/1