2013-11-21 160 views
1

我正在尝试做一个URL重写,但无法捕获两个方案的正确操作。第一种是如果动作是“scheduletable”,则只在“action”中捕获“schedule”,否则捕获整个事物“pools”。我的正则表达式保持包括在 “action正则表达式排除部分字符串捕获C#

^/events/(?<action>.*)(?table)?/(?<eventid>\d*).*$ 

原始URL的 “table

/events/scheduletable/39?layout=time&type=all 
/events/pools/39 

回答

2

用途:

^/events/(?<action>.*?)(?:table)?/(?<eventid>\d*).*$ 

和使用替代$1$2 - 或者甚至你的团体名字。

Working on RegExr

+0

工作,谢谢。 –

+0

没问题.... – OGHaza

0

你来错地方了?(?table)没有意义,并且您的*action需要非贪婪(.*?而不是.*)。尝试这个;

^/events/(?<action>.*?)(table)?/(?<eventid>\d*).*$ 
0

考虑下面的正则表达式...

(?<=events/).*?(?=(table|/)) 

祝您好运!

相关问题