如何将TLD检查添加到RegExp?

时间:2015-05-11 19:44:51

标签: regex actionscript-3

我正在使用下面的RegExp查找字符串中的链接。我需要通过检查所有域TLD(.com,travel,.name等)来扩展它。

var str = "check example.com or www.example.com or http://example.com or https://example.com or www.example.travel";

var filter:RegExp = /((https?:\/\/|www\.| |\*)[äöüa-z0-9\-\:\/]{1,}+\.[\*\!\'\(\)\;\:\@\&\=\$\,\?\#\%\[\]\~\-\+\_äöüa-z0-9\/\.]{2,}+)/gi

var matches = str.match(filter)

if (matches !== null) {
trace("Found: " + matches);
} else {
trace("nothing found");
}

我认为它需要像[.com|.travel|.name]这样但是如何实现呢?

1 个答案:

答案 0 :(得分:1)

我认为通过两个步骤完成此操作要容易得多。

  1. 此时查找链接。
  2. 从匹配的字符串中,使用单独的模式(点后跟字母)隔离域,并检查结果 匹配(如果有的话)在TLD列表中。 (indexOf()例如,取决于您拥有的列表,或使用结果作为匹配列表的模式))