Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Regex 正则表达式从url中删除值_Regex - Fatal编程技术网

Regex 正则表达式从url中删除值

Regex 正则表达式从url中删除值,regex,Regex,我有一个网址 "http://10.160.7.62/b2btoolsce/(S(ivww2d43bvkthvczfpsjdpxe))/UI/PdfViewer.aspx?” 我想要一个正则表达式来删除()中可用的内容 ie(S(ivww2d43bvkthvczfpsjdpxe)) 有什么想法吗?如果你不在乎是否有可能捕捉到不平衡的括号 /\(.*\)/ *将尝试尽可能长的移动,因此它将捕获url中从第一个(到最后一个)。然后,您可以用一个空字符串替换它来删除它。b2btoolsce/(?\(

我有一个网址

"http://10.160.7.62/b2btoolsce/(S(ivww2d43bvkthvczfpsjdpxe))/UI/PdfViewer.aspx?”

我想要一个正则表达式来删除()中可用的内容 ie(S(ivww2d43bvkthvczfpsjdpxe))


有什么想法吗?

如果你不在乎是否有可能捕捉到不平衡的括号

/\(.*\)/
*
将尝试尽可能长的移动,因此它将捕获url中从第一个
到最后一个
。然后,您可以用一个空字符串替换它来删除它。

b2btoolsce/(?\(.*?\)/UI
b2btoolsce/(?<matchToRemove>\(.*?\))/UI
那个女孩?使其不贪婪。

/\(.*)/


这是您需要的正则表达式。

由于您使用.Net,因此在C#中删除括号和斜杠的方法如下:

这将改变

"http://10.160.7.62/b2btoolsce/(S(ivww2d43bvkthvczfpsjdpxe))/UI/PdfViewer.aspx?"
"http://10.160.7.62/b2btoolsce/(S(ivww2d43bvkthvczfpsjdpxe))/UI/PdfViewer.aspx?"
…变成

"http://10.160.7.62/b2btoolsce/UI/PdfViewer.aspx?"
"http://10.160.7.62/b2btoolsce/edda/UI/PdfViewer.aspx?"
如果要用某物(例如edda)替换圆括号,请写下:

 newUrl = Regex.Replace(oldUrl, @"\(.*?\)/", "edda/");
它将改变

"http://10.160.7.62/b2btoolsce/(S(ivww2d43bvkthvczfpsjdpxe))/UI/PdfViewer.aspx?"
"http://10.160.7.62/b2btoolsce/(S(ivww2d43bvkthvczfpsjdpxe))/UI/PdfViewer.aspx?"
…变成

"http://10.160.7.62/b2btoolsce/UI/PdfViewer.aspx?"
"http://10.160.7.62/b2btoolsce/edda/UI/PdfViewer.aspx?"

http://example.com/(a) /hello(b)/UI
?大多数发布的解决方案将删除
(a)/hello(b)
。你用什么语言?另外,括号是否正确平衡?