Я пытаюсь разобрать фрагмент трассировки стека, который выглядит примерно так:
at Test.Test1() in C:\Projects\Project\Test.cs:line 37
Использование регулярного выражения, как это работает как задумано:
at (.*?) in (.*?):line (\d*)
Это соответствует
- Test.Test1 ()
- C: \ Projects \ Project \ Test.cs
- 37
Это регулярное выражение жестко запрограммировано в английской трассировке стека, поэтому очевидно, что совпадений в стековой трассировке на другом языке, например, шведском:
vid Test.Test1() i C:\Projects\Project\Test.cs:rad 37
Чтобы сделать сопоставление более нейтральным по языку, я попробовал это регулярное выражение:
(.*?) .*? (.*?) (\d*)
Это соответствует
- Test.Test1 ()
- C: \ Projects \ Project \ Test.cs: линия
- 37
Вопрос в том, как бы я соответствовал пути к файлу без завершающей строки: