diff --git a/src/parser/parser.ts b/src/parser/parser.ts
index dbb172170dda1d0b4c777381edd02a79e804446e..6461b2756bed1dc54dbcb9c67947a8b294a42673 100644
--- a/src/parser/parser.ts
+++ b/src/parser/parser.ts
@@ -16,13 +16,13 @@ import {
  */
 type Verifier<A> = [RegExp, A];
 export const roomVerifiers: Verifier<LinkKind.Alias | LinkKind.RoomId>[] = [
-    [/^#([^/:]+?):(.+)$/, LinkKind.Alias],
-    [/^!([^/:]+?):(.+)$/, LinkKind.RoomId],
+    [/^#([^:]*):(.+)$/, LinkKind.Alias],
+    [/^!([^:]*):(.+)$/, LinkKind.RoomId],
 ];
 export const verifiers: Verifier<LinkKind>[] = [
-    [/^[!#]([^/:]+?):(.+?)\/\$([^/:]+?)$/, LinkKind.Permalink],
-    [/^@([^/:]+?):(.+)$/, LinkKind.UserId],
-    [/^\+([^/:]+?):(.+)$/, LinkKind.GroupId],
+    [/^[!#]([^:]*):(.+)\/\$([^:]+):(.+)$/, LinkKind.Permalink],
+    [/^@([^:]+):(.+)$/, LinkKind.UserId],
+    [/^\+([^:]+):(.+)$/, LinkKind.GroupId],
     ...roomVerifiers,
 ];