如何生成匹配含10位随机数字的特定URL的Regex表达式
解决URL末尾10位随机数字的正则匹配问题
正确的正则表达式(Java环境)
String expectedUrl = "https://x\\.example\\.com/example/1234\\?w=1080&h=720&cb=\\d{10}";
关键说明
- 特殊字符转义:URL里的
.和?属于正则特殊字符,必须用\\转义才能表示字面意义:\\.匹配URL中的域名点\\?匹配URL中的问号(查询参数起始符)
- 数字匹配规则:
\\d{10}精准匹配10位阿拉伯数字,正好对应末尾的随机数字段 - 全字符串匹配:Java的
String.matches()方法默认会校验整个字符串,无需额外添加^或$标记
验证代码示例
// 待验证的URL String result = "https://x.example.com/example/1234?w=1080&h=720&cb=1234567890"; // 正则表达式 String expectedUrl = "https://x\\.example\\.com/example/1234\\?w=1080&h=720&cb=\\d{10}"; // 断言验证 assertTrue("URL: " + result + " expected: " + expectedUrl, result.matches(expectedUrl));
这个正则可以精准匹配你给出的所有示例URL,若URL固定部分有变动、末尾数字长度不是10位,都会验证失败。
内容的提问来源于stack exchange,提问作者KEAMCRF
相关产品推荐
相关产品推荐

