我想匹配的模式,"john.doe"
,這個正則表達式:這個正則表達式有什麼問題,試圖匹配模式name1.name2?
^(([a-zA-Z0-9_\.-]+)\.([a-zA-Z0-9_\.-]))/?$
我不能讓它匹配。
我想匹配的模式,"john.doe"
,這個正則表達式:這個正則表達式有什麼問題,試圖匹配模式name1.name2?
^(([a-zA-Z0-9_\.-]+)\.([a-zA-Z0-9_\.-]))/?$
我不能讓它匹配。
就像德米特里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®ex=%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 & input = john.doe%0Afirst.second%0Aand.this.works%0Aand.this.also.works%0Ax。 X%0Ax ..%0A..x%0A ...%0A ...%0A ....%0A .....
最後的「+」將在「 ()「,不在外面,對嗎? – 2012-04-28 17:48:41
你說得對。我編輯了答案。 – rcdmk 2012-04-28 17:51:56
這個匹配'x..',''x'甚至'...'。 – KingCrunch 2012-04-28 20:00:27
正則表達式就是超大
list($name1, $name2) = explode('.', $name, 2);
+1,這裏沒有正則表達式的需要。 – Toto 2012-04-29 09:17:03
正則表達式/^([\w\-]+)\.([\w\-]+)$/
應該爲你想要做的事情工作。
'\ w'不包含'-' – Toto 2012-04-29 09:16:18
Thanks @ M42。修改了正則表達式以包含'-' – 2012-04-29 19:30:56
你錯過了第二個名字末尾的'+'嗎? – 2012-04-28 16:47:03
@DmitriChubarov是正確的,http://regexr.com?30q26。德米特里,你應該把它作爲答案並贏得一些聲望。 – Sampson 2012-04-28 16:48:02
而你不應該讓「。」在第一個[]中,因爲它會解散「。」字之間。 – 2012-04-28 17:11:22