正则表达式查找所有以 = 开头并以 & 结尾的字符串

2024-03-18

我需要在大量文本中找到 = 和 & 符号之间的所有字符串。我不希望结果字符串包含 = 和 &,只包含它们之间的内容。


如果您的正则表达式引擎支持lookbehinds/lookaheads:

(?<==).*?(?=&)

否则使用这个:

=(.*?)&

并捕获捕获组 1。

如果您的正则表达式引擎不支持非贪婪匹配,请替换.*? with [^&]*.


但正如 zzzzBov 在评论中提到的,如果你正在解析GETURL前缀通常有更好的本地方法进行解析GET论据。

以 PHP 为例,会有:

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
?>

(如发现php.net http://de3.php.net/manual/en/function.parse-str.php.)

Edit:看来您正在使用 Javascript。

将查询字符串解析为对象的 Javascript 解决方案:

var queryString = {};
anchor.href.replace(
    new RegExp("([^?=&]+)(=([^&]*))?", "g"),
    function($0, $1, $2, $3) { queryString[$1] = $3; }
);

Source: http://stevenbenner.com/2010/03/javascript-regex-trick-parse-a-query-string-into-an-object/ http://stevenbenner.com/2010/03/javascript-regex-trick-parse-a-query-string-into-an-object/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式查找所有以 = 开头并以 & 结尾的字符串 的相关文章

随机推荐