我正在尝试提供与以下网址匹配的正则表达式:
http://test.com/bobs/your/uncle/1
http://test.com/bobs/your/uncle/5
http://test.com/bobs/your/uncle/5?tab=1
但与以下网址不符:
http://test.com/bobs/your/uncle/1/brah/5
http://test.com/bobs/your/uncle/1/brah/5?tab=2
我尝试了以下正则表达式
/bobs/your/uncle/\d+\??
适用于上面的前三个网址,但不适用于最后两个网址。
答案 0 :(得分:2)
您需要使用开始和结束锚点:
$(function () { $(".branding").click(function () {
$.ajax({
url: 'branding.html',
data: { id: $(this).attr('id') },
cache: false,
success: function (data) {
$(".container").replaceWith(data); //try with double qoutes
}
});
});
请参阅演示https://regex101.com/r/pP2fL1/1
您可以使用'bobs/your/uncle/\d+\??[^/]*$'
来匹配除[^/]*
之外的任何其他符合tab=1
的额外字符串。
答案 1 :(得分:1)
您可以使用此正则表达式:
/bobs/your/uncle/\d+(?:\?|$)
在您想要的输入URI之后, (?:\?|$)
将匹配?
或输入结束。