千家信息网

如何使用正则表达式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关如何使用正则表达式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题是这样的,某个情况下要给:http://jb51.net?a=1这类
千家信息网最后更新 2026年11月03日如何使用正则表达式

这篇文章将为大家详细讲解有关如何使用正则表达式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

问题是这样的,某个情况下要给:http://jb51.net?a=1

这类url地址追加参数变为:http://jb51.net?a=1&b=2

但是怎么知道已经存在相同参数名呢,例如有这种情况:http://jb51.net?a=1&a=2

这个虽然不会有什么大错误,但是地址栏这样看起来很不好。那怎么办呢?用正则解决吧(本来我想用php的字符串处理解决的,但是后来觉得要学一下正则了就用正则做吧)

以下是我用于返回上一页的后台处理方法


function _goBack($msg=null,$get=array()) {
$url = $_SESSION['BACKURL'];
if($get!=array())
foreach ($get as $k=>$g){
$url.='&'.$k.'='.$g;//先追加所有要追加的参数,不管是否重复
if(count(explode("&{$k}=",$url))>2){//假如以"&a="这种格式分割目前url字符串发现有超过两个的分割数组,即表明该字符串有重复参数
$url=preg_replace("/{$k}=[a-zA-Z0-9]*&/",'',$url);//正则替换所有"&a=x"为空
}
}
unset($_SESSION['BACKURL']);
$this->alert($msg,$url);
}


简单的解释:
"/{$k}=[a-zA-Z0-9]*&/"假如我们假设$k="a",即"/a=[a-zA-Z0-9]*&/"

不知道有没理解错,这个意思其实是匹配以"a="开头,紧跟任意数字字母组合([a-zA-Z0-9]*:意思是任意单个数字或者字母字符,可以把*理解为对前面那个任意字符的重复,如u*可以理解为:uuuu.....,不限制个数的u排列,这里的*可以用{0,}代替),再紧跟"&"。

这是个很简单的例子,但是看网上的关于正则语法的描述,总感觉看不明白,不知道是我理解能力问题还是写得人说得太深奥。

另外解释一下,为什么这样就可以去除重复,原理很简单,http://jb51.net?a=1&a=2被替换"&a=x"格式字符的时候最后一个正好不会被删除,要知道我们循环中每次我们都是把新参数放在最后面的。

关于"如何使用正则表达式"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正则 字符 参数 字符串 篇文章 表达式 地址 字母 情况 意思 数字 更多 格式 问题 处理 解释 不错 实用 深奥 相同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海卓越科技互联网 科技创新与互联网经济 上海挚品互联网科技 互联网科技小贷 齐家互联网科技 赫美联合互联网科技 天下捷融互联网科技 互联网科技的未来发展 湖南洣水互联网科技有限公司扣款 常德市电业局互联网科技部 荆州市昕露互联网络科技有限公司 阿大互联网科技有限公司 乌苏新华互联网科技做什么的 互联网科技人工智能实验室 互联网科技如何创业 江苏苏星互联网科技有限公司 广州百诚互联网科技有限公司官网 互联网科技手抄报图片 张家口科技产业互联网平台 互联网对科技影响 互联网科技公司排名 美国互联网黑科技 互联网巨头投资的硬核科技 互联网科技中介 成都互联网科技公司工作好不好 沐思想互联网科技有限公司 广州有谷有贝互联网科技有限公司 福州德业互联网科技 杭州科技互联网公司有哪些 六子台科技互联网展会
0