Jon*_*an. 1 java regex string string-matching
我正在尝试获取一个正则表达式来匹配特定的 url 格式。特别是 stackexchange 的 api url。例如,我希望这两个匹配:
http://api. stackoverflow .com/1。1 /问题/ 1234 /答案 http://api. Physics.stackexchange .com/1。0 /问题/ 5678 /答案
在哪里
Pattern.compile("^(?i:http://api\\.(?:[a-z]+(?:\\.stackexchange)?)\\.com)/1\\.[01]/questions/[0-9]+/answers\\z")
Run Code Online (Sandbox Code Playgroud)
在^确保它开始于输入的开始,以及\\z确保使其在输入的末尾。所有的点都被转义了,所以它们是字面意思。该(?i:...)部分根据 URL 规范使域和方案不区分大小写。的[01]唯一字符0或1匹配[0-9]+的匹配1个或多个阿拉伯数字。其余的是不言自明的。