2014-05-14 124 views
2

我有像这样"blah blah blah blah @[Dave Battersby](Person:292) blah blibbidy blah"获取字符串的特定部分与正则表达式

我要剥离出不可读的部分,从而只是文本仍然使用正则表达式的字符串。我曾尝试这个正则表达式(?<=\[)(.*?)(?=\])但这只是给了[]即内部的事物的集合Dave Battersby

我需要的是返回字符串"blah blah blah blah Dave Battersby blah blibbidy blah"

感谢

+0

您是否尝试过做一个简单的,你不与希望的字符替换空字符串? – d3dave

回答

2

这不,如果方式完全清楚@[name](id info)是固定的,但如果是这样,下面应该工作:

Dim input = "blah blah blah blah @[Dave Battersby](Person:292) blah blibbidy blah" 
Dim output = Regex.Replace(input, "@\[(.*?)\]\(.*?\)", "$1") 

这个搜索的整个模式,捕捉名部分,并用名称替换匹配的文本。

+0

谢谢,模式是固定的 - 除人员: - 这可以说其他的东西,如“团队”,“网页” – DavidB

1

假设没有方括号或括号中的“等等等等等等”的文字,下面应该工作:

string myStr = "blah blah blah blah @[Dave Battersby](Person:292) blah blibbidy blah"; 
Regex.Replace(myStr, @"@\[(.*)\].*\)", "$1"); 
相关问题