BNFと正規表現ってどう違うの?