2014-05-14 121 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"); 
相關問題