正则表达式,负面的 JavaScript 背后的外观



我的问题似乎微不足道,但我似乎无法完全理解我做错了什么。我正在尝试通过使用正则表达式来查找句点来检测句子的结尾。问题是,我只想说,在一个单词中有超过 2 个字母的单词之后的句点,这样我就可以避免"圣尼古拉斯"的误报。

我目前的表达是:

/w{3,}./g

但是,这似乎选择了整个单词,而不仅仅是句点。我做错了什么?

编辑:
我期待

"St. Kitts is really cool. Like seriously, sweet."
返回"酷"和"甜"之后的句点

,但不返回"圣"之后的句点。

编辑2:
这是在Javascript中,所以(?<=text)的正常回溯将不起作用

您可以使用组:

var myRegexp = w{3,}(.);
var match = myRegexp.exec(your string);
alert(match[1]);  // Here you should have captured the period

如果有多个句点:

match = myRegexp.exec(myString);
while (match != null) {
    // matched period: match[1]        
    match = myRegexp.exec(myString);
}

最新更新