先頭と末尾の文字が異なる識別子を解析する最善の方法を見つけるのに苦労しています。たとえば、識別子の先頭文字は大文字と小文字のみで、識別子の途中には数字とコロンが含まれているとします。識別子の末尾はコロンではなく、アポストロフィである場合があります。
したがって、以下はすべて正当な識別子です。
f, f0, f:', f000:sdfsd:asdf
ただし、次のものはそうではありません。
0, hello:, he'llo
バックトラッキングを処理する最善の方法がわかりません。コロンは途中で問題ありませんが、識別子の最後にいるかどうかを判断するには、先読みが必要です。
編集:
提案をありがとう。正規表現を使用することは実用的なアプローチですが、そうでなければこれを行うためのクリーンで明白な方法がないように見えることに少しがっかりしています。