Design of Efficient FPGA Circuits For Matching Complex Patterns in Network Intrusion Detection Systems