Я пытаюсь сопоставить что-либо в математических уравнениях, но игнорирую латексные команды.До сих пор я придумал следующее выражение:
(?<!\\)\b([a-zA-Z0-9.,]+)
У меня есть строка:
200\% Depreciation\ (Year_2) = $610,500\times\frac{blah}{12}\times0.2
Но мое выражение не соответствует 0.2
в конце, и оно не 't match 2
in Year_2
.У меня есть другие сложные уравнения со схожими проблемами.
Проблема, которую я считаю, - это граница слова \b
, но у меня нет лучшей альтернативы.К сожалению, я обнаружил, что не могу использовать квантификаторы внутри негативного взгляда.Так что я не смог сделать
(?<!\\[a-z]+)([a-zA-Z0-9.,]+)
В основном я хочу сопоставить все следующие:
- чисел (включая
$
, %
, ,
, .
) - предложения, слова, символы, даже пробелы
при игнорировании латексных команд в форме \foo
и специальных символов, таких как ^
, _
, =
, +
, -
и скобки.
Идеальное выражение будет соответствовать:
200\% Depreciation\
(Year
_ 2
) = $610,500
\ times \frac {blah
} {12
} \ times 0.2
Большое спасибо!