如何使用正则表达式匹配字符串中的两个或多个点

时间:2014-03-05 13:57:39

标签: regex validation

我需要捕获包含多个点的字符串。字符串主要包含 example.com fun.example.com test.funflys.com 等域名。

如何使用regex

执行此操作

5 个答案:

答案 0 :(得分:3)

你应该逃脱点,因为它们有特殊意义。

所以,那个正则表达式会是;

.*\..*\..*

但是你应该小心,\也可能对你的编程语言有特殊的意义,你也可能不得不逃避它们。

答案 1 :(得分:2)

试试这个:

(.*\.)+.*

或者这个(专门用于匹配“字符”而只是......任何东西):

(\w*\.)+\w*

演示:

http://regexr.com?38ed7

答案 2 :(得分:0)

^[A-Za-z0-9]*([A-Za-z0-9]*|\.+)+$

这将捕获至少一个后面的单词或数字。这可以重复多次。

会被捕获: hello.world.something 你好...... world.world something.09hello ...喂

如果你提供一些关于什么可以和什么不能捕获的例子,我们可以更新这个正则表达式。

答案 3 :(得分:-1)

这是使用JavaScript。

var regex = /(\..*){2,}/;

regex.test("hello.world."); // true
regex.test("hello.world"); // false
regex.test("."); // false
regex.test(".."); // true

它搜索模式'dot后跟任何东西(或什么都没有'),重复2次或更多次。

答案 4 :(得分:-1)

Pattern.matches("[^\\.]+\\.[^\\.]+", "any_String")

  1. 如果字符串中有多个点,则给出' false '。
  2. 如果字符串的开头或结尾有点,则给出' false '。
  3. 为空字符串String赋予' false '。