2017-07-07 29 views
0

我有一個這樣的字符串:正則表達式模式以獲得爲一組

在上面的字符串
var stringToBeMatched = @"S14XV15011.MAXCV_MAXCV = 2323 /m BVASL /d {A1d} /t 2009.08.23 12:01:47 /a dfsd-df/c Imported from: HV2108C2; dfddf-er-author: TVI"; 

/d標籤可以從以下任何值:

a. /d MBX-JA-DVQ-1811 
b. /d Bvala_Mana-CVw.xls 
c. /d {A1dq} 
d. /d MBX-JA-DVQ-1811 Control valves.pdf 
e. /d MBEM306-0005 Data sheet 21P0001A_B_C 
f. /d MBA-M30-PE-012-022 2.trinan sep. 

我通過以下方式與它們匹配,但只有選件b &ð得到滿意的位置:

var patternToCompare = @"(\{*(?<DocRef>(((\S\s*)+\.[a-zA-Z]+))|(\S\s*)+)\}*)"; 

如果我添加\ w +作爲開始時的OR選項,它與上面的選項c相匹配,但不匹配其他選項。請建議最佳模式以匹配以上所有選項。

+1

您的問題不清楚。發佈你傳遞給正則表達式引擎的真實樣本輸入,解釋爲什麼你的正則表達式看起來像它(爲什麼使用'(\ S \ s *)+'?)並提供期望的輸出。 –

回答

0

你的問題聽起來含糊而複雜。沒有更多的例子,這只是猜測工作。但這將匹配所有\ d項目

(^(MB)(A|X|EM).+)|({\A1.+})|(Bvala+.+\.xls)