标签: regex lexer
我有两个正则表达式来识别两种不同的单词。这些是:
我想知道为什么单词12aaa被视为2个单词,它是一个数字(12),后跟一个标识符(aaa)。
我的目的是将单词12aaa视为错误的标识符。我怎么能这样做?
答案 0 :(得分:1)
在正则表达式的任意一端添加\b(匹配字边界)。这将迫使他们仅在单词边界内匹配。因此12aaa将不再匹配数字或标识符。
\b
12aaa
另外,正如我在评论中提到的那样,你应该有一个\在前面。在您的号码正则表达式。否则它将匹配4a4。