gpt4 book ai didi

javascript - 正则表达式。在两次出现中使用相同的字符

转载 作者:行者123 更新时间:2023-11-30 09:29:11 25 4
gpt4 key购买 nike

我有这样的字符串
( ( ( 这里有一些文字

我想删除两个括号之间的空格。我正在尝试为其使用正则表达式:

value.replace(/\( \(/g, "((");

但是这个语句只删除了第一个空格,所以结果字符串是:
(( ( 这里有一些文字

据我了解,regExp 仅在第一次出现时使用第二个括号。我想让 regExp 对这两种情况都使用该括号。所以我想要的结果是:
((( 这里有一些文字

是否可以通过正则表达式来实现?

最佳答案

.replace(/\( \(/g, "((")替换不起作用,因为两个 ( 字符被 消耗。为了确保匹配 连续 空格分隔的 ( 字符,您需要确保仅检查第二个 ( 是否存在,而不是 consumed。这就是 lookarounds 的救星。

您可以使用 .replace(/\(\s+(?=\()/g, '(')) 替换 1+ 个空格,前提是它们后跟 ( :

var s = "( ( ( some text here";
console.log(s.replace(/\(\s+(?=\()/g, '('));

参见 regex demo .

图案细节

  • \( - 一个 ( 字符
  • \s+ - 1+ 个空格(注意:如果您只需要删除 ( 字符之间的单个 空格,请替换为单个空格,或 \s)
  • (?=\() - 正向前瞻,确保在当前位置右侧立即有一个 ( 字符(但是这个 ( 没有被消耗,因此也没有被移除)。

关于javascript - 正则表达式。在两次出现中使用相同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47437263/

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