在此处询问有关问题之后: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"
字母混合,没有发生分裂 - 这是错误的
我该怎么办?
感谢, 阿龙
答案 0 :(得分:2)
您的表达式实际上需要两个组:
Txt.replace(/([^ ])([.#:])/g, '$1 &$2').split(" ");