我在编程语言中为所有令牌编写了正则表达式。如何扫描所有文本?例如,使用这些正则表达式:
int = `[0-9]+`
float = `[0-9]+(\.[0-9]+)?`
string = `"[^"]+"`
char = `'[^']'`
comment = `--(.+)?`
本文:
12.3 12 "hey" 'y' -- Comment!
输出应为{float at 1 - 5, int at 6 - 8, string at 9 - 14, char at 15 - 18, comment at 19 - 30}
。是否有标准库函数或第三方库可以帮助我实现这一目标?