我有正則表達式:(?ms)(?<attribute>\[.+?\]|public|private|\s)+?class
爲什麼下面的正則表達式匹配這個文本?
和我有文字:
[attribute]
public int a;
[attribute C]
[attribute B]
public class Test{
}
我想知道爲什麼我張貼匹配的正則表達式:
[attribute]
public int a;
[attribute C]
[attribute B]
public class
我想它應該符合:
[attribute C]
[attribute B]
public class
糾正我,如果我錯了。我認爲正則表達式應該被讀取的方式是:
查找屬性([某些屬性])或公共關鍵字或私有關鍵字或空間。
所以首先,正則表達式引擎應該匹配[屬性],然後是'\ n'(換行),然後是public
關鍵字。在這之後,關鍵字int
不是一個選項,爲什麼它匹配它?
我強烈建議RegexBuddy,如果你還沒有它。我不以任何方式附屬於產品;我就喜歡。 – Odrade 2012-07-26 02:02:33