[問題] 反向表列的正規式?
看板RegExp (正規表示式 Regular Expression)作者Uruzu (...)時間13年前 (2011/07/16 22:48)推噓1(1推 0噓 1→)留言2則, 1人參與討論串1/3 (看更多)
前言:
因為ctags沒有支援我正在用的程式語言(systemverilog)
於是上google尋找解法,在當中找到了一個範例,可以讓ctags支援SV
但是那個例子不夠周全,只好自己動動手,加入適當的Regex,
好讓它看起來更完整一點
問題一:
typedef class Myclass;
typedef enum { .... } enum_type;
上面兩行是程式碼中經常出現的code
我想單純的用兩個Regex把這兩種分開來
^[ \t]*typedef[ \t]+.*[ \t]+([a-zA-Z_0-9]+)[ \t]*;
這會符合第一、二行code
^[ \t]*typedef[ \t]+enum[ \t]+.*[ \t]+([a-zA-Z_0-9]+)[ \t]*;
這會符合第二行code
要如何反向表列,才能使第一個Regex只會符合第一行而不包含第二行?
問題二:
有時候 code 會寫成這樣:
typedef enum { AAA,
BBB,
... } enum_type;
^[ \t]*typedef[ \t]+enum[ \t]+.*[ \t]+([a-zA-Z_0-9]+)[ \t]*;
紅色的部份該如何處理分行的部份比較好?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.76.252
推
07/17 22:10, , 1F
07/17 22:10, 1F
→
07/17 22:10, , 2F
07/17 22:10, 2F
討論串 (同標題文章)
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章