Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将url参数字符串转换为路径的正则表达式_C#_.net_Regex - Fatal编程技术网

C# 将url参数字符串转换为路径的正则表达式

C# 将url参数字符串转换为路径的正则表达式,c#,.net,regex,C#,.net,Regex,需要正则表达式才能更改以下url abc.aspx?str=blue+lagoon&id=1234 到 在perl中: my $work_url = $original_url; $work_url =~ s/\+/-/g; $url = '/blog/' . do { $work_url =~ m/\bstr=([\w\-]+)\b/; $1} . '/'; 适用于给定的示例 灵感来自Ragepotato: $new_url = '/blog/' . sub { loc

需要正则表达式才能更改以下url

abc.aspx?str=blue+lagoon&id=1234 

在perl中:

my $work_url = $original_url; 
$work_url =~ s/\+/-/g;
$url = '/blog/' . do { $work_url =~ m/\bstr=([\w\-]+)\b/; $1} . '/';
适用于给定的示例

灵感来自Ragepotato:

$new_url = '/blog/'
    . sub { local $_ = shift; tr/+/-/; m/\bstr=([\w\-]+)\b/; $1 }->($orig_url)
    . '/';
对于Ragepotatos post,还有一个更严格、更不贪婪的正则表达式,未经测试:

Regex.Match(input.Replace("+", "-"),@"\bstr=(.*?)&").Groups[1].Value
在perl中:

my $work_url = $original_url; 
$work_url =~ s/\+/-/g;
$url = '/blog/' . do { $work_url =~ m/\bstr=([\w\-]+)\b/; $1} . '/';
适用于给定的示例

灵感来自Ragepotato:

$new_url = '/blog/'
    . sub { local $_ = shift; tr/+/-/; m/\bstr=([\w\-]+)\b/; $1 }->($orig_url)
    . '/';
对于Ragepotatos post,还有一个更严格、更不贪婪的正则表达式,未经测试:

Regex.Match(input.Replace("+", "-"),@"\bstr=(.*?)&").Groups[1].Value
C.NET

string input = "abc.aspx?str=blue+lagoon&id=1234";

string output = "/blogs/" + Regex.Match(input.Replace("+", "-"),@"str=(.*)&").Groups[1].Value + "/";
C.NET

string input = "abc.aspx?str=blue+lagoon&id=1234";

string output = "/blogs/" + Regex.Match(input.Replace("+", "-"),@"str=(.*)&").Groups[1].Value + "/";

用什么语言?对我来说,这似乎是一个不合适的正则表达式,请提供更多信息。如果它确实是一个URL,那么abc.aspx?id=1234&str=blue+lagon是一个法律等价物,也应该被考虑。另外,按照措辞,现在还不清楚为什么这里需要正则表达式-听起来像是一个简单的搜索和替换。基本上是一个表达式,用于从url中删除=和->之间的字符串->蓝色+拉贡,然后添加另一个字符串。我需要将正则表达式传递给CMS服务器,以便使用什么语言执行正则表达式别名?对我来说,这似乎是一个不合适的正则表达式,请提供更多信息。如果它确实是一个URL,那么abc.aspx?id=1234&str=blue+lagon是一个法律等价物,也应该被考虑。另外,按照措辞,现在还不清楚为什么这里需要正则表达式-听起来像是一个简单的搜索和替换。基本上是一个表达式,用于从url中删除=和->之间的字符串->蓝色+拉贡,然后添加另一个字符串。我需要将正则表达式传递给CMS服务器,以便执行正则表达式别名。不客气。很抱歉,我还不知道C.net语法,否则我很乐意发布。我确信正则表达式看起来很相似,但是调用。。?我会读一点,看看我是否能在没有编译器的情况下运行它。这可能会让你接近。。语法障碍:使用System.Text.RegularExpressions;Regex exp=new Regex@\bstr=[\w\+]+\b;字符串InputText=abc.aspx?str=blue+lagoon&id=1234;MatchCollection MatchList=exp.MatchesInputText;Match FirstMatch=匹配列表[0];Console.WriteLineFirstMatch.Value;不客气。很抱歉,我还不知道C.net语法,否则我很乐意发布。我确信正则表达式看起来很相似,但是调用。。?我会读一点,看看我是否能在没有编译器的情况下运行它。这可能会让你接近。。语法障碍:使用System.Text.RegularExpressions;Regex exp=new Regex@\bstr=[\w\+]+\b;字符串InputText=abc.aspx?str=blue+lagoon&id=1234;MatchCollection MatchList=exp.MatchesInputText;Match FirstMatch=匹配列表[0];Console.WriteLineFirstMatch.Value;干得好。str上需要单词边界和非贪婪捕获。*?你不觉得吗?做得很好。str上需要单词边界和非贪婪捕获。*?你不觉得吗?