用于过滤2个网址的正则表达式

时间:2014-02-24 12:37:52

标签: regex c#-4.0

我可以使用正则表达式过滤(或匹配)下面提到的2个网址吗?

http://www.domain.com/owner/Marketinghttp://www.domain.com/owner/getinfo)?

更新用法如下。

 <rule name="Skip HTTPS" enabled="true" stopProcessing="true">
      <match url="I need regex here" ignoreCase="true" />
      <conditions>
        <add input="{HTTP}" pattern="OFF" />
      </conditions>
      <action type="None" />
    </rule>

更新2:

如果我这样说,它会起作用吗?

 <match url="(Marketing|getinfo)" ignoreCase="true" />

3 个答案:

答案 0 :(得分:1)

您可以使用管道|字符进行交替和括号。添加前导^并尾随$“绑定”表达式,使其仅匹配没有前导或尾随垃圾的确切URL,并转义斜杠(用作RegEx分隔符)和点({{1}哪个匹配任何角色)。所以:

.

答案 1 :(得分:1)

如果我理解你想要什么,那么它就是前进:(http:\/\/www\.domain\.com\/owner\/Marketing | http:\/\/www\.domain\.com\/owner\/getinfo)。见http://regex101.com/r/yW3aP9

答案 2 :(得分:1)

好的,这个似乎有效,

/http:\/\/www\.domain\.com\/owner\/(Marketing|getinfo)/

但是当你将整个字符串与carett和美元符号^$进行比较时,regexpal不匹配字符串,也许更有经验的人会知道为什么