正则表达式 VB.net 我应该分组吗?
Regex VB.net Should I Group?
我写了下面的代码来减少每行中的信息
s = Regex.Replace(s, "(a\/users\/\d*).*\(.*", "")
字符串开头如下:
/a/users/15/badges?params%5Bnotifications%5D%5Bcount%5D=5 HTTP/1.1" 200 143 "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
我正在努力
/a/users/15/ (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
我错了吗?如果有人能提供帮助,我将不胜感激。
当我尝试这个时:
s = Regex.Replace(s, "(a/users/\d*).(\Blackberry.).*", "$1 $2 ")'
对以下行进行排序
/a/users/80021/messages.json?params[page]=1¶ms[per_page]=10¶ms[set_actions]=true HTTP/1。 1" 200 13063 "BlackBerry9320/7.1.0.398 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/603 tibbr/3.6.6.1" 1/1574070
它不起作用它似乎无法识别 /a/users/80021
之后的 /
再次感谢您的帮助,我学到了很多东西。
我也会看看 HttpUtility
你不应该转义斜线并匹配第三组:
(a/users/\d*/).\((.*)\).*
您还需要以 .*
结束正则表达式,以确保删除剩余的字符。
或者:
s = Regex.Replace(s, "(a/users/\d*/).*(\(.*\)).*", " ")
DEMO.
但正如@Cory 所说:最好使用库实现的算法,例如 HttpUtility
,因为这些算法是按照所有规范设计的,不太可能包含错误。
编辑:关于你的第二个正则表达式,有一个错误:
s = Regex.Replace(s, "(a\/users\/\d*).*(\Blackberry\.*).*"," ")
你没有转义括号,但是B
和.
,正确的正则表达式可能是:
s = Regex.Replace(s, "(a\/users\/\d*/).*(Blackberry.*).*"," ")
我写了下面的代码来减少每行中的信息
s = Regex.Replace(s, "(a\/users\/\d*).*\(.*", "")
字符串开头如下:
/a/users/15/badges?params%5Bnotifications%5D%5Bcount%5D=5 HTTP/1.1" 200 143 "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
我正在努力
/a/users/15/ (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
我错了吗?如果有人能提供帮助,我将不胜感激。
当我尝试这个时:
s = Regex.Replace(s, "(a/users/\d*).(\Blackberry.).*", "$1 $2 ")'
对以下行进行排序
/a/users/80021/messages.json?params[page]=1¶ms[per_page]=10¶ms[set_actions]=true HTTP/1。 1" 200 13063 "BlackBerry9320/7.1.0.398 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/603 tibbr/3.6.6.1" 1/1574070
它不起作用它似乎无法识别 /a/users/80021
之后的 /再次感谢您的帮助,我学到了很多东西。
我也会看看 HttpUtility
你不应该转义斜线并匹配第三组:
(a/users/\d*/).\((.*)\).*
您还需要以 .*
结束正则表达式,以确保删除剩余的字符。
或者:
s = Regex.Replace(s, "(a/users/\d*/).*(\(.*\)).*", " ")
DEMO.
但正如@Cory 所说:最好使用库实现的算法,例如 HttpUtility
,因为这些算法是按照所有规范设计的,不太可能包含错误。
编辑:关于你的第二个正则表达式,有一个错误:
s = Regex.Replace(s, "(a\/users\/\d*).*(\Blackberry\.*).*"," ")
你没有转义括号,但是B
和.
,正确的正则表达式可能是:
s = Regex.Replace(s, "(a\/users\/\d*/).*(Blackberry.*).*"," ")