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

时间:2012-02-19 21:43:06

标签: 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" 字母混合,没有发生分裂 - 这是错误的

我该怎么办?

感谢, 阿龙

1 个答案:

答案 0 :(得分:2)

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

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