最初に自分の lex コードを載せます (lex 本体のみ)。
%%
ps {BEGIN STATE1;}
. ;
<STATE1>^[0-9] print("number after ps".)
このコードでは、文字「ps」の直後の数字と一致させようとしています。そのため、^ 文字を使用しました。しかし、コードはps3、ps4fd、ps554などの正しい文字列と一致しません。次に、^を削除して試してみましたが、機能しましたが、pserd7、psfh45、psfhdjh4erなどの文字列にも一致します.
状態 (ps[0-9].*) を使用せずに問題を解決できることはわかっています。しかし、私は州でこれをしなければなりません。どうすればこれを修正できますか? ありがとう....