所以下面“模式”中包含的这个正则表达式只应该匹配我在下面的评论中所说的(最基本的匹配是1个字母后跟一个点,然后是两个字母)
var link = "Help"
// matches www-data.it -- needs at least (1 letter + '.' + 2 letters )
var pattern = '((xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}';
var re2 = new RegExp('^' + pattern, 'i');
// if no http and there is something.something
if (link.search(re2) == 0)
{
link = link;
}
当我测试此代码@ http://regexpal.com/时,它可以工作,例如只有某些东西通过。
当我在 JSFiddle 和生产环境中对其进行测试时,它的匹配程度超出了应有的程度,例如“帮助”匹配。 http://jsfiddle.net/2jU4D/
这是怎么回事?