使用flex 做關鍵詞 正規表示式過濾

2021-09-30 06:11:36 字數 965 閱讀 5328

編寫 .l檔案

c 標頭檔案 和變數定義

c function definition

compile && link

flex -o my.c my.l

gcc -o my my.c -lfl

當無main函式時, 需要 -lfl && %option noreject noyywrap

中文支援:

.l 檔案與需要檢測的資料檔案是同一編碼, 否則識別不出來

centos   編輯i18n檔案, 設定utf8

securecrt 設定成utf8

~/.vimrc: set encoding=utf8        &&          set termencoding=utf8

example:

makefile:

# basic makefile -- provides explicit rules

# creates "myprogram" from "scan.l" and "myprogram.c"

#cc = g++

cflags = -g

ldflags = #-lfl, can use this if && only if no main provided,

lex=flex

check: k2.o check.o

$(cc) -o $@  $(ldflags) $^

check.o: check.cpp

$(cc) $(cppflags) $(cflags) -o $@ -c $^

k2.o: k2.cpp

$(cc) $(cppflags) $(cflags) -o $@ -c $^

k2.cpp: k2.l

$(lex) $(lflags) -o $@ $^

clean:

$(rm) *.o k2.cpp

check.cpp: test code

MySQL 正規表示式關鍵詞REGEXP用法

mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配,查詢name欄位中以 st 為開頭的所有資料 mysql select name from person tbl where name regexp st 查詢name欄位中以 ok 為結尾的所有...

flex正規表示式

驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9 驗證非負整數 正整數...

Flex 正規表示式

1.基本語法 匹配除換行符 n 外的任意單個字元。匹配前面flex正規表示式的零次或多次出現。eg alert.show thisbookisgoodboooookboxbx.replace bo g,coo thiscookisgoodcookcooxcoox 匹配前面flex正規表示式的一次或多...