【发布时间】:2018-01-30 17:19:34
【问题描述】:
我必须匹配特定正则表达式的字符串并进行替换(什么都不替换)。但是,在替换期间,我只需要替换匹配的正则表达式的一部分。见下文。
我有以下正则表达式:
var regex1 = RegExp('[\s.,:\*]+' + word + '?s?i?\s*:?\s*', 'gi');
这个正则表达式应该匹配(至少,我希望如此)所有出现的:
- 单词(例如“testword”)
word - 在这个单词
[\s.,:\*]+之前至少应该有一个whitespace, dot, comma, : or *符号,并且在这个和word之间没有其他符号 - 在单词
'?s?i?\s*:?\s*'之后可能还有一些其他特定符号(包括s和i字母),仅此而已
例如,匹配项是 .testword ; ,testwords; :.testword.
我将这些事件替换为“无”:str = str.replace(regex1, "")。
但是,我不需要替换第一部分:[\s.,:\*]+。我希望它留下来。所以在字符串中
"Some words .testword"
should be "Some words ."
I have "Some words" (there is no dot at the end).
【问题讨论】:
标签: javascript regex replace