2017-05-29 67 views
0

在下面这行中,我需要将这两行代入一行,方法是用空行代替换行符和空格。正则表达式npp - 搜索字符串必须后跟特定的字符,但不包括那些字符

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

所以我有这样的正则表达式(在记事本++):

(\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

+0

注意:您在预览中存在拼写错误。积极的先行结构以'(?='开始,除了捕获组“(...)”外,其他所有的簇都以打开括号后的问号“?”开始,并且它们不是可量化的 – revo

+0

你可以编辑你的问题来添加一个明确的样本,例如你在regex101中使用的样本和有人参与的输出。一点都不清楚。 –

回答

1

注意:

  • 你应该纠正你构建的先行方式:(?=....)
  • Lookarounds无法量化。

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

Live demo

+1

非常感谢提示! – crashwap

0

为空白标准化,何不干脆将“逗号与额外的空间后”和“逗号加一个制表符”?

你并不需要一个复杂的模式可言,因为\s匹配空格,换行和制表符都在同一时间:

模式:,\s*

替换字符串:,\t

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

相关问题