dynamicexpresso / DynamicExpresso

C# expressions interpreter
http://dynamic-expresso.azurewebsites.net/
MIT License
2.02k stars 379 forks source link

feat(detectIdentifiers): re-introduce boundary check #332

Closed cpiber closed 1 week ago

cpiber commented 1 week ago

This improves the regex evaluation back to when we still had \b in front, while (hopefully) doing as it should. For the test referenced in #331, this change drops us back to 90ms, which is still twice as slow as originally, but there's also more features supported now, so I find this acceptable.

@metoule Please check that this is doing what you meant. If I understood your comment about \b right, you had to remove it because that also matched @, so even though @? is included in the identifier part it was never captured. If so, then this lookbehind should model the same as \b but it respects @ in front. Demo: https://regex101.com/r/WhA5GM/2

Close #291