で部分文字列のマッチング:私はかなりこのようになります。これは、スタックトレースの断片を解析しようとしている正規表現
at Test.Test1() in C:\Projects\Project\Test.cs:line 37
このような正規表現を使用すると、意図したとおりに動作します:
at (.*?) in (.*?):line (\d*)
これは
- Test.Test1()
- Cと一致する:\プロジェクト\プロジェクト\ Test.cs
この正規表現は、英語のスタックトレースにハードコードされているので、スタックトレースは、他の言語であれば何の試合は、スウェーデンのように、明らかに存在しない:
vid Test.Test1() i C:\Projects\Project\Test.cs:rad 37
へ中立マッチングもっと言語を作り、私はこの正規表現を試してみた:
(.*?) .*? (.*?) (\d*)
これは
と一致します- Test.Test1()
- C:\プロジェクト\プロジェクト\ Test.cs:ライン:ライン
質問は、私は末尾せずにファイルのパスと一致するだろうかありますか?
私が探していたもの、歓声! –
行全体の最後のコロンが行の単語からパスを区切っていることが分かっているなら、それを検索する貪欲な形式を試してみることができます:so(。*):(\ S +)これにより、コロンを使用しない相対パス、または古いApple Macパスでもコロンをパスセパレータとして使用します – Xetius