2013-02-22 40 views
0

我需要在所有的這些組合相匹配的C#正則表達式表達的端 -C#正則表達式表達檢測線

ABC(和間隔和零個或多個字符後面)

ABC(並且沒有空間任何隨後數

ABC(和行尾)< - 這是一個我無法弄清楚

這是我迄今爲止 -

bool match = Regex.IsMatch(address, @"((ABC)?[\s+0-9*])"); 

我想這無濟於事(和一堆其他的東西) -

bool match = Regex.IsMatch(address, @"((ABC)?[\s+0-9*$])"); 
+3

1)標籤與語言2)* *展示你做了什麼,並解釋它如何不工作(這也將提供適當的上下文) - 許多正則表達式支持'$',但含義各不相同,特別是如果有單/多行模式。如果需要搜索「行尾」*和/或*「輸入結束」,事情會變得更加棘手。 – 2013-02-22 21:17:40

回答

1
/ABC(?: \w*|\d+|\n)/ 

\n新的生產線相匹配。

+1

也可以使用'$'取決於引擎,模式和字符串 – 2013-02-22 21:20:50

+0

這種情況不僅僅是一個空格後跟一個換行符,而不是單獨換行符(即它匹配'ABC \ n'而不匹配ABC \ N')? – 2013-02-22 21:23:29

+0

這匹配'ABC \ n',但不匹配'ABC \ n'。 – 2013-02-22 21:51:04

0

也許這是你在找什麼:

/ABC(?: .*|\d+)?$/ 
+0

問題在於它不會匹配**「ABC2314一些其他的東西」**。根據OP的規範,它應該匹配** ABC2314 **部分。 – 2013-02-22 21:23:57

+0

@HappyGreenKidNaps,我遵循你所說的,但OP在這種情況下並不具體。我讀了_ABC(沒有空格和任何後面的數字)_表示ABC後面跟着唯一的數字......在你的示例FOLLOWS ABC2314中,從技術上講_some other stuff_因此將取消它的資格。 OP太模糊不清 – Lucas 2013-02-22 21:26:33