2011-01-28 17 views
0

應使用什麼正則表達式模式匹配CP_但不是CPLAT::CP_正則表達式匹配字符串,如果它不遵循另一個字符串

+0

能夠閱讀和撰寫正則表達式只需要瞭解一種語言,並不意味着您可以毫不費力地選擇另一種語言,尤其是使用明顯不同的習語的人。例如嘗試Lisp。 - 這並不是說RegEx特別困難,它只是不是所有可訪問的東西,我建議你使用一些允許regex作爲搜索模式的工具,並儘可能多地執行它們,稍微練習一下就行了。 – ocodo 2011-01-28 02:32:33

回答

0

我想你想要「^ CP_」作爲你的正則表達式。 ^告訴表達式在輸入開始時檢查這個模式。

http://www.regular-expressions.info/anchors.html

+0

^錨定到字符串/行中的第一個字符,而不是字/符號中的第一個字符。聽起來像OP需要跨文件搜索,而不僅僅是比較字符串中的單個字。 – CoreyStup 2011-01-28 00:48:50

+0

@corey - 跨文件搜索 – Axl 2011-01-28 01:02:50

0
[^:]CP_ 

會發現CP_不是由一個:

preceeded使用g選項(取決於正則表達式的味道),如果所有實例您希望每行匹配多個CP_

1

此外,沒有人有像RegEx for Dummies這樣的非常簡單的教程嗎?我很難用C++編寫代碼,但無法輕鬆掌握RegEx。

不,這並不奇怪。正則表達式的掌握需要一種並非自然而然的某種心態。能夠用C++或任何其他語言進行編程似乎沒有幫助 - 如果有的話,這是一個障礙。有一個很好的教程here,但即使是最好的教程只會讓你到一個pidgin水平。如果你真的想讓你的頭在正則表達式中,你需要The Book

另一個問題是沒有正則表達式的標準;每種編程語言,每個框架,每個IDE或文本編輯器似乎都有它自己的正則表達式「味道」。有些具有其他人不具備的功能,有些則使用不同的語法來完成相同的功能。這就是The Other Book的地方。我們通常使用正則表達式的許多例子,在幾種最流行的口味中,並進行了徹底的解釋。

相關問題