有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带点word的Java正则表达式

我需要一个正则表达式来验证像"foo.com"这样的字符串。包含点的单词。我试过几次,但都没成功

我尝试过的模式:

  1. (\\w+\\.)
  2. (\\w+.)
  3. (\\w.)
  4. (\\W+\\.)

谁能帮我一把这个吗

谢谢


共 (4) 个答案

  1. # 1 楼答案

    将正则表达式与character class一起使用

    ([\\w.]+)
    

    如果您只想包含单个.,那么使用

    (\\w+\\.\\w+)
    

    如果需要多个不相邻的.,请使用

    (\\w+(?:\\.\\w+)+)
    
  2. # 2 楼答案

    我理解你的问题,比如,你需要一个正则表达式来匹配一个单词,而这个单词之间只有一个点(不是第一个或最后一个)

    下面的正则表达式将满足您的需要

    ^\\w+\\.\\w+$
    
  3. # 3 楼答案

    此正则表达式有效:
    [\w\[.\]\\]+

    测试以下组合:
    福。com
    福。co.in

    …foo

  4. # 4 楼答案

    要验证正好包含一个点和周围至少两个字母的字符串,请使用match for

    \w+\.\w+
    

    在Java中表示为

    \\w+\\.\\w+