gpt4 book ai didi

javascript - 负向回顾 : Match a substring that's not preceded one of a set of characters

转载 作者:行者123 更新时间:2023-11-28 15:32:24 24 4
gpt4 key购买 nike

问题

如何定义一个正则表达式来匹配每个子字符串:

  • 结束一行
  • 前面没有给定的一组字符之一

案例

我有一个函数可以从文本字符串中删除硬编码的换行符,这样它们就能正确地重排。除了智能处理连字之外,该函数运行良好。

这是连字符的简化版本。

function (string) { return string.replace(/-\n/g, "") }

它可以做它应该做的事情,没问题。所以这...

A hyphen-
ated line.

...变成...

A hyphenated line.

但是它太过分了,并且不能正确处理破折号,因此这些示例会出现乱码:

"""
Mary Rose sat on a pin -
Mary rose.

Mary Rose sat on a pin --
Mary rose.
"""

只有在 -\n 模式前面没有连字符或任何类型的空白字符时,该函数才应将其视为匹配。

最佳答案

您可以将模式更改为:

function (string) { return string.replace(/\b-\n/g, "") }

单词边界 \b 是单词字符和其他字符之间的限制。

关于javascript - 负向回顾 : Match a substring that's not preceded one of a set of characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26819190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com