Jquery 字符串的正则表达式
我正在尝试编写一个正则表达式来匹配某个字符串。目前我有一个正则表达式:Jquery 字符串的正则表达式,jquery,regex,Jquery,Regex,我正在尝试编写一个正则表达式来匹配某个字符串。目前我有一个正则表达式: regx = /wid=\d+(\.\d)*/g, 以下链接/字符串中的哪个匹配wid=100: image/hugoboss/test%2Dimg?wid=100 但是,我想将此链接/字符串扩展到: image/hugoboss/test%2Dimg?wid=100&crop=0,0,960,650 因此,它以这种格式结束&crop=0,0960650。我如何调整我的正则表达式,使其匹配wid=100&cro
regx = /wid=\d+(\.\d)*/g,
以下链接/字符串中的哪个匹配wid=100
:
image/hugoboss/test%2Dimg?wid=100
但是,我想将此链接/字符串扩展到:
image/hugoboss/test%2Dimg?wid=100&crop=0,0,960,650
因此,它以这种格式结束&crop=0,0960650
。我如何调整我的正则表达式,使其匹配wid=100&crop=0,0960650
谢谢 您可以使用下面的正则表达式
wid=\d+(\.\d)*(?:&crop=\d+(?:,\d+)*)?
或
下面的正则表达式允许在字符串crop
wid=\d+(\.\d)*(?:&crop=\d+(?:\.\d+)?(?:,\d+(?:\.\d+)?)*)
从索引1中获取匹配的组
\?(.*)$
正则表达式查找?
之后的所有内容,直到字符串/行结束
示例代码:
var str="image/hugoboss/test%2Dimg?wid=100&crop=0,0,960,650";
var re = /\?(.*)$/;
console.log(str.match(re)[1]);
输出:
wid=100&crop=0,0,960,650
预期的输出是什么?您是否只对URL中的查询字符串感兴趣?您的意图是什么?只需从URL获取key=value对!或者需要某些键=值对?您是否感到困惑?分享更多信息。你怎么看?在这种情况下,当你提到使用正则表达式时,它是解决已解决问题的脆弱手段。虽然如果您必须使用正则表达式(请不要使用,它确实充满了边缘情况),但这个答案可能更有用:根据问题,我认为您应该使用
/(wid.*.$/
。
wid=100&crop=0,0,960,650