这个正则表达式怎样简化一点?

wgybb 2007-07-20 10:22:49

旧货交易栏目
RewriteRule /info/list1_(\d+)_(\d+)_0\.html /old/index.asp?sID=$1&page=$2
RewriteRule /info/list1_(\d+)_(\d+)_1\.html /old/index.asp?sID=$1&page=$2&sType=求购
RewriteRule /info/list1_(\d+)_(\d+)_2\.html /old/index.asp?sID=$1&page=$2&sType=出售
RewriteRule /info/list1_(\d+)\.html /old/view.asp?ID=$1

  房屋租售栏目
RewriteRule /info/list2_(\d+)_(\d+)_0\.html /house/index.asp?sID=$1&page=$2
RewriteRule /info/list2_(\d+)_(\d+)_1\.html /house/index.asp?sID=$1&page=$2&sType=出租
RewriteRule /info/list2_(\d+)_(\d+)_2\.html /house/index.asp?sID=$1&page=$2&sType=求租
RewriteRule /info/list2_(\d+)_(\d+)_3\.html /house/index.asp?sID=$1&page=$2&sType=出售
RewriteRule /info/list2_(\d+)_(\d+)_4\.html /house/index.asp?sID=$1&page=$2&sType=求购
RewriteRule /info/list2_(\d+)_(\d+)_5\.html /house/index.asp?sID=$1&page=$2&sType=合租
RewriteRule /info/list2_(\d+)_(\d+)_6\.html /house/index.asp?sID=$1&page=$2&sType=转让
RewriteRule /info/list2_(\d+)\.html /house/view.asp?ID=$1

  物品买卖栏目
RewriteRule /info/list3_(\d+)_(\d+)_0\.html /buy/index.asp?sID=$1&page=$2
RewriteRule /info/list3_(\d+)_(\d+)_1\.html /buy/index.asp?sID=$1&page=$2&sType=求购
RewriteRule /info/list3_(\d+)_(\d+)_2\.html /buy/index.asp?sID=$1&page=$2&sType=出售
RewriteRule /info/list3_(\d+)\.html /buy/view.asp?ID=$1

  电脑网络栏目
RewriteRule /info/list4_(\d+)_(\d+)_0\.html /pc/index.asp?sID=$1&page=$2
RewriteRule /info/list4_(\d+)_(\d+)_1\.html /pc/index.asp?sID=$1&page=$2&sType=求购
RewriteRule /info/list4_(\d+)_(\d+)_2\.html /pc/index.asp?sID=$1&page=$2&sType=出售
RewriteRule /info/list4_(\d+)\.html /pc/view.asp?ID=$1

  求职招聘栏目
RewriteRule /info/list5_(\d+)_(\d+)_0\.html /job/index.asp?sID=$1&page=$2
RewriteRule /info/list5_(\d+)_(\d+)_1\.html /job/index.asp?sID=$1&page=$2&sType=求职
RewriteRule /info/list5_(\d+)_(\d+)_2\.html /job/index.asp?sID=$1&page=$2&sType=招聘
RewriteRule /info/list5_(\d+)\.html /job/view.asp?ID=$1

  生活服务栏目
RewriteRule /info/list6_(\d+)_(\d+)_0\.html /other/index.asp?sID=$1&page=$2
RewriteRule /info/list6_(\d+)_(\d+)_1\.html /other/index.asp?sID=$1&page=$2&sType=提供
RewriteRule /info/list6_(\d+)_(\d+)_2\.html /other/index.asp?sID=$1&page=$2&sType=寻求
RewriteRule /info/list6_(\d+)\.html /other/view.asp?ID=$1

小弟我刚接触正则表达式,不太熟练,大家帮我看一下,这个正则表达式怎么简化一点.
...全文
176 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgybb 2007-07-20
  • 打赏
  • 举报
回复
可以匹配的呀.
RewriteRule /info/list1_(\d+)_(\d+)_0\.html /old/index.asp?sID=$1&page=$2

$1:这个代表小类的ID
$2:这个代表分页编号
后面那个0:代表的是方式,比如是"求购"还是"出售"
MicroSoftor 2007-07-20
  • 打赏
  • 举报
回复
分析了下,发现你这正则这样写有问题的
RewriteRule /info/list1_(\d+)_(\d+)_0\.html /old/index.asp?sID=$1&page=$2
===============================

很多东西都匹配不了 - -!
兔子-顾问 2007-07-20
  • 打赏
  • 举报
回复
我试试把六个合并在一起看看


正则不宜过长
兔子-顾问 2007-07-20
  • 打赏
  • 举报
回复
这些正则都不复杂了。没的优化了。
MicroSoftor 2007-07-20
  • 打赏
  • 举报
回复
应该可以的
举个例子
=====================================
旧货交易栏目
RewriteRule /info/list1_(\d+)_(\d+)_0\.html /old/index.asp?sID=$1&page=$2
RewriteRule /info/list1_(\d+)_(\d+)_1\.html /old/index.asp?sID=$1&page=$2&sType=求购
RewriteRule /info/list1_(\d+)_(\d+)_2\.html /old/index.asp?sID=$1&page=$2&sType=出售
RewriteRule /info/list1_(\d+)\.html /old/view.asp?ID=$1
========================================================
合并成这样的
RewriteRule /info/list1_(\d+)_(\d+)((_0\.html /old/index.asp?sID=$1&page=$2)|(_1\.html /old/index.asp?sID=$1&page=$2&sType=求购)|(_2\.html /old/index.asp?sID=$1&page=$2&sType=出售)|(\.html /old/view.asp?ID=$1))


我试试把六个合并在一起看看
wgybb 2007-07-20
  • 打赏
  • 举报
回复
比如:
房屋租售栏目
RewriteRule /info/list2_(\d+)_(\d+)_0\.html /house/index.asp?sID=$1&page=$2
RewriteRule /info/list2_(\d+)_(\d+)_1\.html /house/index.asp?sID=$1&page=$2&sType=出租
RewriteRule /info/list2_(\d+)_(\d+)_2\.html /house/index.asp?sID=$1&page=$2&sType=求租
RewriteRule /info/list2_(\d+)_(\d+)_3\.html /house/index.asp?sID=$1&page=$2&sType=出售
RewriteRule /info/list2_(\d+)_(\d+)_4\.html /house/index.asp?sID=$1&page=$2&sType=求购
RewriteRule /info/list2_(\d+)_(\d+)_5\.html /house/index.asp?sID=$1&page=$2&sType=合租
RewriteRule /info/list2_(\d+)_(\d+)_6\.html /house/index.asp?sID=$1&page=$2&sType=转让
这个栏目的,写了这么多,能不能再压缩一下呢?
wgybb 2007-07-20
  • 打赏
  • 举报
回复
现在是6个栏目,需要6组的表达式去实现.
能不能把6个栏目,缩小到一组呢,或者更少的.
MicroSoftor 2007-07-20
  • 打赏
  • 举报
回复
举个例子吧
==============================================================================
旧货交易栏目
RewriteRule /info/list1_(\d+)_(\d+)_0\.html /old/index.asp?sID=$1&page=$2
==============================================================================
这个正则可以匹配
RewriteRule /info/list1_15_85_0\.html /old/index.asp?sID=$1&page=$2
这种形式的

但不知道你想从那里开始简化?
个人感觉这个正则匹配已经很严谨了,因为像这些字符你都限制RewriteRule 了

你想把所有正则写成一个?

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧