我有一个像"blah blah blah blah @[Dave Battersby](Person:292) blah blibbidy blah"
我想删除不可读的部分,因此文本仍然使用正则表达式。我试过这个正则表达式(?<=\[)(.*?)(?=\])
,但这只是给出了[]
内Dave Battersby
我需要的是返回字符串"blah blah blah blah Dave Battersby blah blibbidy blah"
由于
答案 0 :(得分:2)
不完全清楚模式@[name](id info)
是否已修复,但如果是,则以下内容应该有效:
Dim input = "blah blah blah blah @[Dave Battersby](Person:292) blah blibbidy blah"
Dim output = Regex.Replace(input, "@\[(.*?)\]\(.*?\)", "$1")
这将搜索完整模式,捕获名称部分,并仅使用名称替换匹配的文本。
答案 1 :(得分:1)
假设“blah blah blah”文本中没有方括号或括号,以下内容应该有效:
string myStr = "blah blah blah blah @[Dave Battersby](Person:292) blah blibbidy blah";
Regex.Replace(myStr, @"@\[(.*)\].*\)", "$1");