这个正则表达式有什么问题,试图匹配模式name1.name2?

时间:2012-04-28 16:42:50

标签: php regex

我正在尝试将模式"john.doe"与此正则表达式匹配:

 ^(([a-zA-Z0-9_\.-]+)\.([a-zA-Z0-9_\.-]))/?$

我无法让它匹配。

3 个答案:

答案 0 :(得分:1)

正则表达式只是超大

list($name1, $name2) = explode('.', $name, 2);

答案 1 :(得分:0)

正则表达式/^([\w\-]+)\.([\w\-]+)$/应该适用于您要执行的操作。

答案 2 :(得分:-1)

就像Dmitri Chubarov所说(相信他),你只需在第二组添加一个+标志: <击>

<击>
^(([a-zA-Z0-9_\.-]+)\.([a-zA-Z0-9_\.-]+))/?$

<击>

^((([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+)\.(([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+))/?$

这适用于:

jhon.doe
this.also.work
this.will.also.work

但不是:

x..
..x
..
...
....
.....

http://regexpal.com/?flags=gm&regex=%5E(((%3F%3A%5Ba-zA-Z0-9_-%5D%2B%5C)*%5Ba上-ZA-Z0-9 _-%5D%2B)%5C。((%3F%3A%5Ba上-ZA-Z0-9 _-%5D%2B%5C。 )*%5Ba上-ZA-Z0-9 _-%5D%2B))%2F%3F%24&安培;输入= john.doe%0Afirst.second%0Aand.this.works%0Aand.this.also.works%0Ax。 X%0Ax ..%0A..x%0A ..%0A ...%0A ....%0A .....