正则表达式,无需使用lookbehind即可获取查询字符串值

时间:2011-01-13 07:21:42

标签: regex iis-7 url-rewriting

我想从以下网址中提取“en”,以便重新编写。

  

接触/ Default.aspx的?郎= EN

     

/contact/default.aspx?lang=en-us&id=1

     

/contact/default.aspx?id=1111&lang=en

以上示例应改写为:

  

/contact/en/default.aspx

不幸的是,IIS7不支持lookbehinds,所以不能使用正则表达式:

(?<=lang\=)(.+)

任何想法如何匹配查询字符串的值部分?

由于

1 个答案:

答案 0 :(得分:1)

我愿意

.*?(&|\?)lang=([^&]+).*

并使用捕获组1