Regex 等号和与之间的正则表达式
我试图使用正则表达式在Regex 等号和与之间的正则表达式,regex,url,Regex,Url,我试图使用正则表达式在&client=和立即&之间的URL中查找字符串 我考虑过这样使用它:client=[a-zA-Z]+但是它停在u,所以我真的需要它&client=来& 网址: site=之后的字符串总是不同的,这应该是唯一的,足以用于regex 是我对正则表达式的尝试。您可以使用此正则表达式: client=[^&]+ client=(.*?)& 这将匹配非&的任何字符中的一个或多个。您可以使用此正则表达式: client=[^&]+ client=(.*
&client=
和立即&
之间的URL中查找字符串
我考虑过这样使用它:client=[a-zA-Z]+
但是它停在u,所以我真的需要它&client=
来&
网址:
site=
之后的字符串总是不同的,这应该是唯一的,足以用于regex
是我对正则表达式的尝试。您可以使用此正则表达式:
client=[^&]+
client=(.*?)&
这将匹配非
&
的任何字符中的一个或多个。您可以使用此正则表达式:
client=[^&]+
client=(.*?)&
这将匹配一个或多个非&
的任何字符使用此正则表达式:
client=[^&]+
client=(.*?)&
我正在使用惰性量词*?
匹配&
符号前尽可能少的字符。要获取该值,可以将其放入一个捕获组:client=(.*)&
,并去掉一个前瞻(有点“扩展”)。下面是一个如何用JavaScript编码的示例:
var re=/client=(.*)&/;
var str='/search?q=tutory&btnG.x=0&btnG.y=0&site=transfer\u credit&client=transfer\u credit&proxystylesheet=transfer\u credit&output=xml\u no\u dtd&proxycustom=HOME';
如果((m=re.exec(str))!==null){
document.getElementById(“res”).innerHTML=m[1]
}
使用此正则表达式:
client=[^&]+
client=(.*?)&
我正在使用惰性量词*?
匹配&
符号前尽可能少的字符。要获取该值,可以将其放入一个捕获组:client=(.*)&
,并去掉一个前瞻(有点“扩展”)。下面是一个如何用JavaScript编码的示例:
var re=/client=(.*)&/;
var str='/search?q=tutory&btnG.x=0&btnG.y=0&site=transfer\u credit&client=transfer\u credit&proxystylesheet=transfer\u credit&output=xml\u no\u dtd&proxycustom=HOME';
如果((m=re.exec(str))!==null){
document.getElementById(“res”).innerHTML=m[1]
}
您可以将正则表达式更改为:
client=.+?
使用您的regex101链接:
顺便说一句,您可以使用捕获组捕获内容:
client=(.+?)
您可以将正则表达式更改为:
client=.+?
使用您的regex101链接:
顺便说一句,您可以使用捕获组捕获内容:
client=(.+?)
您还没有提供任何上下文来解释为什么要尝试用正则表达式解析URL查询字符串参数,但通常这不是一个好主意 以下是当前的答案,它们都有问题:
client=[^&]+
client=.+?
client=(.*?)&
由于以下一个或多个原因,所有这些答案都将失败:
client
作为子字符串的其他查询参数名称(例如other\u client
)客户端
参数值为空,则不匹配。也许这正是您想要的,但是您无法区分client
值为空和client
参数完全缺失客户端
值后需要一个符号和字符。因此,如果client
是最后指定的查询参数,它将无法识别有效的查询字符串。查询字符串中编码的查询参数顺序不能保证一致。它可以是第一个参数、最后一个参数或介于两者之间的任何位置&
是查询字符串中唯一可用于分隔查询参数的字符。分号字符代码>可以改为使用
\bclient=[^&;]*
但是如果您有选择的话,最好使用一个库(使用您选择的语言)将URL解析为其组成部分 您还没有提供任何上下文来解释为什么要用正则表达式解析URL查询字符串参数,但一般来说这不是一个好主意 以下是当前的答案,它们都有问题:
client=[^&]+
client=.+?
client=(.*?)&
由于以下一个或多个原因,所有这些答案都将失败:
client
作为子字符串的其他查询参数名称(例如other\u client
)客户端
参数值为空,则不匹配。也许这正是您想要的,但是您无法区分client
值为空和client
参数完全缺失客户端
值后需要一个符号和字符。因此,如果client
是最后指定的查询参数,它将无法识别有效的查询字符串。查询字符串中编码的查询参数顺序不能保证一致。它可以是第一个参数、最后一个参数或介于两者之间的任何位置&
是查询字符串中唯一可用于分隔查询参数的字符。分号字符代码>可以改为使用
\bclient=[^&;]*
但是如果您有选择的话,最好使用一个库(使用您选择的语言)将URL解析为其组成部分 既然你用