我正在使用一些正則表達式匹配,並試圖弄清楚如何排除特定字符模式。具體來說,我要排除以下模式:如何用正則表達式排除特定字符模式
5 - #in words: digit, space, dash & space)
我知道如何逐一排除的組件:[^5 ^-]
但我希望排除的特定模式。這可能嗎?
更新 - 我使用Ruby作爲我的編程語言。
下面是一些示例輸入和期望的輸出:
Input: 1 - Blue-Stork Stables; 2 - Young, Robert, S.; 3 - Seahorse Stable; 4 - Carney, Elvis; 5 - Guerrero, Juan, Carlos-Martin; 6 - Dubb, Michael; 7 - Summers, Hope; 8 - DTH Stables; 9 - Peebles, Matthew\n
所需的輸出將是:
Output: Blue-Stork Stables; Young, Robert, S.; Seahorse Stable; Carney, Elvis; Guerrero, Juan, Carlos-Marting; Dubb, Michael; Summers, Hope; DTH Stables; Peebles, Matthew\n
請採取藍鸛馬廄和胡安·卡洛斯·馬丁的破折號的音符。
what * exactly * d你的意思是「排除」?應該只有確切的模式阻止匹配,或者如果可以在字符串的開頭或字符串中的任何位置找到該模式?請提供一些您希望/不希望匹配的字符串示例。 – 2012-03-31 14:11:04
「[^ 5^- ]」沒有辦法像你打算的那樣工作。匹配一個*單個字符*,即**不是**'5','','^'或'-'。 – Kobi 2012-03-31 14:14:06
我的意思是它將匹配除了我排除的所有內容。例如,我將在製表符分隔的文件上使用此排除[^ \ t] +,因爲它會匹配所有數據並排除製表符。 – Mutuelinvestor 2012-03-31 14:15:40