代码之家  ›  专栏  ›  技术社区  ›  Andrew Magill

正在尝试创建注册表。在引用主机名中可以找到字符串的表达式

  •  2
  • Andrew Magill  · 技术社区  · 16 年前

    我正在尝试创建一个javascript正则表达式,它可以在引用服务器主机名中找到关键字。它不能在文件路径中,只能是主机名。所以…这些应该通过:

    http://keyword.com/
    http://www.keyword.com/
    http://keyword.example.com/
    http://examplekeyword.com/
    

    但这些不应:

    http://example.com/keyword
    http://example.com/?q=keyword
    http://example.com/example/keyword.php
    

    我也不确定如何创建regex。我见过 var re=新regex(“实际regex”); 而且 myString.search(“实际regex”); . 任何帮助都将不胜感激!

    2 回复  |  直到 16 年前
        1
  •  2
  •   Matchu    16 年前
    ^http://[^/]*keyword
    

    如果关键字存在,则匹配。它的回报有点奇怪( http://keyword 对于 http://keyword.com 但这是你能做的最简单的事情。

    如果您对返回的完整主机名感兴趣,

    ^http://[^/]*keyword[^/]*
    

    退换商品 http://thekeywordexists.com 对于 http://thekeywordexists.com/foo .

    在JavaScript中有许多使用正则表达式的方法。 Regular-Expressions.info's Javascript page 可能是一个很好的资源。(性能提示:只创建一次regexp对象并将其变为变量,而不是每次使用时都创建它:o)

        2
  •  0
  •   Wolph    16 年前

    我相信这是你想要的:

    /^http:\/\/[^\/]*keyword\./.test('http://www.keyword.com')
    

    一点解释:

    • 从开始 http 然后 :// ( ^http:\/\/ )
    • 所有的事情都是如此 /
    • 然后 keyword 其次是 .