Asp.net 用于匹配分层URL的正则表达式
我有这个正则表达式Asp.net 用于匹配分层URL的正则表达式,asp.net,regex,url,web,Asp.net,Regex,Url,Web,我有这个正则表达式 ^([^\.]+)\.aspx$ 其中只匹配以下内容 FolPage.aspx ~/FolPage.aspx ~/Folder/FolPage.aspx ~/Folder/Folder1/Folder2/FolPage.aspx ~/Folder/Folder1/Folder2/Folder3/Folder4/FolPage.aspx 我想要一个正则表达式,它匹配上面的url和下面的url ../FolPage.aspx ../Folder/FolPage.aspx ..
^([^\.]+)\.aspx$
其中只匹配以下内容
FolPage.aspx
~/FolPage.aspx
~/Folder/FolPage.aspx
~/Folder/Folder1/Folder2/FolPage.aspx
~/Folder/Folder1/Folder2/Folder3/Folder4/FolPage.aspx
我想要一个正则表达式,它匹配上面的url和下面的url
../FolPage.aspx
../Folder/FolPage.aspx
../Folder/Folder1/Folder2/FolPage.aspx
../Folder/Folder1/Folder2/Folder3/Folder4/FolPage.aspx
您可以看到演示
事实上,我正在尝试重新编写URL
<rewrite>
<rules>
<rule name="Redirect" stopProcessing="true">
<match url="^([^\.]+)\.aspx$" />
<conditions>
<add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" />
</conditions>
<action type="Redirect" url="{ToLower:{R:1}}/" appendQueryString="false" redirectType="Permanent" />
</rule>
<rule name="Rewrite" stopProcessing="true">
<match url="^([^/]+)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="{R:1}.aspx" />
</rule>
</rules>
</rewrite>
我需要用于重定向和重写的正则表达式。你可以试试这个:
^(?:\.\.|[^\.])+\.aspx$
它的意思是
。
或不是。
我建议使用以下正则表达式:
^( *\.\.)?([^\.]+)\.aspx$
^(\.{2}|~)?.+\.aspx$
(*\。\)?
匹配可选空格,后跟双点。以下是一个有效的示例:
/^([~\.]{1,2})([^\.]+)\.aspx$/
试试这个正则表达式:
^( *\.\.)?([^\.]+)\.aspx$
^(\.{2}|~)?.+\.aspx$
描述
演示
是工人。。。但这是我的重写url regex
^([^/]+)/$
。在这种情况下,它不是working@VigneshKumar嗯,你能澄清一下吗?你到底想做什么?实际上我想做Rewriting@VigneshKumar好的,我认为这是一个不同于匹配上述URL的方法,对吗?虽然我知道这是一个后续问题,但作为一个不同的问题可能更合适。如果你不想再写一篇,那也没关系,但我需要更多的澄清。例如,您试图重写到哪个url?你在用什么代码?我已经更新了我的问题。你能看看我的表吗question@VigneshKumar我在正则表达式中使用?:
删除了组捕获。如果你想,你必须从正则表达式中删除它。