私の正規表現は本当に私が望むことをしていません。パターンはこれを行います正規表現のパターンに一致するパターン
func anyword() {
が、私はそれが次の}
に停止する:それはラインで始まる、私のテキストファイル内のすべての一致を見つける必要があります。しかし、このの一つ以上の場合は、表示されます:
SomeFunction();
それは次の}
をスキップする必要があります。
ここでは、スキャンするテキストの例を示します。各行が、それはそこに何をすべきかを表示するようにコメントしている:これは私が現在使用しているパターンです
override func something() { // here is a start pattern
// still looking for an }
halloworld() { }; // bracket } found but is ignored because line also contains "()"
// still looking for an }
// still looking for an }
} // found closing bracket } end of match
:
\w+\s+func\s\w+\(\)\{\s+(.*?)\s+\}
regexは、任意の数のネストされた構造を照合するためのものではありません。しかし、正規表現を増やすだけで、それを行うことができます:https://msdn.microsoft.com/en-us/library/bs2twtah(v=vs.110).aspx#balancing_group_definition – sweaver2112