0

我有一个包含 的 url,~我需要处理这个字符的编码版本%7E

目前,我们有两条规则来处理这种情况。

^/folder/([\w-]+)~(\d*).aspx$
^/folder/([\w-]+)%7E(\d*).aspx$

我可以将其合并为一个规则吗?我尝试了以下方法,但它不起作用:

^/folder/([\w-]+)[~|%7E](\d*).aspx$

对此规则的任何帮助表示赞赏。

4

1 回答 1

1

也许你想试试

^/folder/([\w-]+)(~|%7E)(\d*)\.aspx$

或者

^/folder/([\w-]+)(?:~|%7E)(\d*)\.aspx$

如果您的正则表达式引擎支持此语法,则保持您的捕获组相同。

[…]构造了一个字符类,而不是一组替代品。So[~|%7E]的意思是“文字~, |, %,7E.

为此,您必须使用括号。你应该转义.in\.aspx因为.在正则表达式中意味着“任何字符”。

于 2012-08-03T17:31:32.433 回答