用于检查 url 格式的正则表达式
Regex for checking a url format
我需要一个正则表达式来检查字符串是否以“/message/posts”开头,下一个斜线和一些字符串是可选的,但下一个字符不应该是“?”。
例如:
/message/posts => true
/message/posts?a=b => false
/message/posts/lalala => true
/message/posts/lalala?n=v => false
我尝试了下一个代码,但我不知道下一步是什么:
^(\/message\/posts)(\/)?
应该这样做:
^\/message\/posts[^?]*$
[^?] 表示 "Match anything but ?",* 表示 "do this 0 or more times",直到字符串锚 $.
结束
您不需要像您那样使用捕获括号,即使这通常不会造成任何危害。如果您想在不捕获的情况下对内容进行分组,请尝试 (?:stuff here) 而不是 (stuff here)。有关这方面的信息,请参阅 www.regular-expressions.info。
我需要一个正则表达式来检查字符串是否以“/message/posts”开头,下一个斜线和一些字符串是可选的,但下一个字符不应该是“?”。
例如:
/message/posts => true
/message/posts?a=b => false
/message/posts/lalala => true
/message/posts/lalala?n=v => false
我尝试了下一个代码,但我不知道下一步是什么:
^(\/message\/posts)(\/)?
应该这样做:
^\/message\/posts[^?]*$
[^?] 表示 "Match anything but ?",* 表示 "do this 0 or more times",直到字符串锚 $.
结束您不需要像您那样使用捕获括号,即使这通常不会造成任何危害。如果您想在不捕获的情况下对内容进行分组,请尝试 (?:stuff here) 而不是 (stuff here)。有关这方面的信息,请参阅 www.regular-expressions.info。