已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
2天前关闭。
Improve this question
我试图Assert包含URL的字符串是我所期望的,但最后一部分是一个随机数。我确实研究了regex并尝试了很多模式,但我还没有找到正确的模式。
URL类似于以下内容:https://x.example.com/example/1234?w=1080&h=720&cb=??????????
此部分始终相同:https://x.example.com/example/1234?w=1080&h=720&cb=
和??????????
表示十个随机数字。
我可以删除第一部分,并Assert剩余部分是一个10位字符串,但我需要正则表达式来验证完整的URL。
这些示例应匹配:
https://x.example.com/example/1234?w=1080&h=720&cb=1234567890
https://x.example.com/example/1234?w=1080&h=720&cb=9876543210
https://x.example.com/example/1234?w=1080&h=720&cb=4321123489
https://x.example.com/example/1234?w=1080&h=720&cb=1265678673
https://x.example.com/example/1234?w=1080&h=720&cb=7899453773
我用这个代码验证它:
assertTrue("URL: " + result + " expected: " + expectedUrl, result.matches(expectedUrl));
result
:我需要匹配的URL。expectedUrl
:正则表达式。
2条答案
按热度按时间busg9geu1#
可以使用
\d{10}
匹配正则表达式中的10个连续数字。使用RegExp#test
检查是否找到匹配项。bxfogqkk2#
要匹配并捕获随机数字:
您需要转义所有特殊字符、斜线、句点和问号
参见此处:https://regexr.com/79eva