正则表达式,javascript背后的负面看法

时间:2016-02-01 17:26:00

标签: javascript regex lookbehind

我的问题似乎微不足道,但我似乎无法理解我做错了什么。我试图通过使用正则表达式来检测句子的结尾来查找句点。问题是,我只想说,在一个单词后面有超过2个字母的句号,这样我就可以避免出现“#34; St。尼古拉斯&#34。

我目前的表达是:

/\w{3,}\./g

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

编辑:
我期待

"St. Kitts is really cool. Like seriously, sweet."

返回两者之后的时间" cool"并且"甜蜜",但不是" St。"

编辑2:
这是在Javascript中,因此(?< = text)的正常lookbehind将无法正常工作

1 个答案:

答案 0 :(得分:0)

您可以使用群组:

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);
}