javascript - 尝试组合排除和包含正则表达式

标签 javascript regex string replace match

在这里提出问题后:How to Split string with multiple rules in javascript

我陷入了另一个字符串问题

我有这个正则表达式:

Txt.replace(/([^ ][.#:])/g, ' &$1').split(" ");

我想要的条件是:如果有“.”或“#”或“:”但前面没有空格,然后应用条件。

所以对于 foo#bar 我会得到: foo &#bar (在我的数组中 ['foo','&#bar'])

但是对于 foo #bar 不会发生任何事情,并且它将保持不变(在我的数组 ['foo','#bar'] 中)

问题是,当我写 foo#bar时,我得到 --> "fo&o#bar" 字母混合在一起并且没有发生 split - 这是错误的

我应该做什么?

谢谢, 阿隆

最佳答案

您的表达式中实际上需要两个组:

 Txt.replace(/([^ ])([.#:])/g, '$1 &$2').split(" ");

关于javascript - 尝试组合排除和包含正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9353528/

相关文章:

javascript - 新创建的 UL LI 元素上的单击事件

javascript - Chart.js:从canvas获取图表数据

java - 清理 HTML 数据

javascript - RegExp - 如何匹配最短的金额?

c# - 起点和终点内的条件过滤

java - Java 字符串与数组匹配时出现问题

c# - 计算类似于游程编码的字符串中的出现次数 c#

javascript - 防止通过检查元素下载html5视频

用于在电子邮件 vba 中获取特定单词的正则表达式

c++ - 将分数转换为字符串,并为重复部分插入 []