gpt4 book ai didi

javascript - 正则表达式匹配所有空格,除了两侧都有单词的单个空格

转载 作者:行者123 更新时间:2023-11-28 17:43:08 25 4
gpt4 key购买 nike

我已经走了这么远:

1) 运行正则表达式 / /g匹配所有空格。

2) 对正则表达式 /\b( )\b/g 运行新的调用以匹配需要排除的空格。

现在我需要将它们都融合在一个声明中。除了第二个返回的空格之外的所有空格。有什么帮助吗?

用于测试的实时正则表达式:https://regex101.com/r/26w2WR/1

编辑:虽然已经有了很好的答案,但我发现尝试将“单词”与 \b 匹配或\B并不总是一个好主意,因为许多可打印字符(例如点和引号)不会被 RegEx 视为单词。另一个问题是当你循环 DOM 节点时,有时你会遇到内联样式标签,如 <strong>它也应该只算作单词的开头/结尾,但 #text 节点只是在标签之前结束。因此,您可能也想在正则表达式中包含字符串的开头和结尾。对于也希望解决这些问题的人,我最终得到了这个正则表达式:

/(\S|^)( )(?=\S|$)/g

这使用\S (不是空格),包括字符串的开头/结尾并应用组以实现替换能力。替换 JS 如下所示:

yourTextNode.replace(/(\S|^)( )(?=\S|$)/g, '$1'+ yourreplacement) 

匹配 &nbsp;字符,您可以使用 (\u00A0)而不是( )

希望这有帮助。

最佳答案

您可以使用负前瞻:

(?!\b \b)( )

关于javascript - 正则表达式匹配所有空格,除了两侧都有单词的单个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47444278/

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