正则表达式“Url不能以'/'或'〜'开头,不能包含'?'字符 “”
问题描述:
编辑:正则表达式“Url不能以'/'或'〜'开头,不能包含'?'字符 “”
谁能帮我写:(这里是一个答案)
可以尝试:
[RegularExpression(@"^([^\?~/])([^\?])*\s*$",ErrorMessage = "Url Cannot start with a '/' or '~', Cannot contain a '?' character")]
和
[RegularExpression(@"^/.*\s*$", ErrorMessage = "Route Url must start with '/'")]
答
我不能完全知道这是否是一个或两个问题。“网址不能以'/'开头,必须以'/'开头互斥。
假设是两个问题。
1)的正则表达式:一定不是以 '/' 或 '〜' 是
/^[^\/~]/
,如果你使用普通的斜杠分隔符 '/'。如果您正在使用Perl的RE与备用分隔符,你可以TO-
m|^[^/~]|
略有简化,因为你没有逃脱字符类中的斜线。
2)对于RE:必须以斜杠是
/^\//
问候:colin_e
我试过^(/)+,但我是新来的正则表达式,希望有人能帮忙吗?!我如何包含另一个字符“〜”和另一个要求...... – user1102391 2012-03-08 21:20:57
啊。这很接近。尽管如此,插入符号'^'在方括号'[]'中未使用时标记了字符串的开头。另外,括号'()'匹配一个组,你想要的是方括号(它匹配集合中的任何元素)。那种你有相匹配的字符串是:?![?^] /asdfkefasdf 你想要的是 /[^〜/] +/ 将匹配任何东西,除了'〜'或'/'对于第一个角色,然后什么都不是?之后。 – 2012-03-08 21:22:18
谢谢..我想我试过/ [^〜/] [^?] + /但是如果我把'〜'放在字符串里就像“inde〜x”一样会出错 – user1102391 2012-03-08 21:31:43