0
我正在使用此RegEx匹配冒號前的單詞。除非以連字符開頭,否則匹配冒號前的單詞
([^\s]+)\:
不過,我將如何改變這種做法,它只會匹配字如果行不用連字符/破折號開始?
編輯
應符合:
[object doSomething:foo];
如果不匹配:
- (void)doSomething:(NSString *)string;
我正在使用此RegEx匹配冒號前的單詞。除非以連字符開頭,否則匹配冒號前的單詞
([^\s]+)\:
不過,我將如何改變這種做法,它只會匹配字如果行不用連字符/破折號開始?
編輯
應符合:
[object doSomething:foo];
如果不匹配:
- (void)doSomething:(NSString *)string;
^[^:-].*?:\s*
應該這樣做。 (假設DOT_ALL
改性劑不被使用。)
[^:-] // One char, not a hyphen or colon
.*? // Perhaps more, non-greedy
:\s* // Colon and optionally spaces
埃爾戈:至少有一個字符的第一個冒號之前。第一個字符不能是連字符或冒號。
或者^[^:-][^:]*:\s*
如果您發現更容易閱讀。
編輯:
根據意見,這是解決什麼問題有機磷:
^([^:-][^:]*):
在多行模式下試試這個正則表達式:
^[^\r\n:-][^\r\n:]*:\s*
不,似乎並沒有爲我工作。我正在使用http://regexpal.com/進行測試。 – Joshua 2011-01-29 17:49:58
@Joshua:編輯它。 – Gumbo 2011-01-29 17:50:24