2016-04-29 40 views
1

我的文字是這樣的:比賽開盤價和收盤括號沒有ATLEAST兩個分號

[UNIX; common]要擴展通配名稱中的特殊字符,或者這樣做的動作(該動作也稱爲[[b; #fff;] globbing])。 文件名通配符的Unix約定已經變得非常普遍,許多黑客使用書面英語 中的一些,特別是在電子郵件或技術主題新聞中。遇到的一般 包括以下內容:一些例子:[[i ;;]他說他的 名稱是[KC] arl](表示歧義)。 [[i ;;]我不讀 talk.politics。*]( [[bu; #fff;;術語] Usenet])上的任何talk.politics子組。其他例子在條目 下給出[[bu; #fff;;術語] X]。請注意,glob模式類似,但不是 ,與[[bu; #fff;;行話] regexp]中使用的模式相同。歷史 注意:行話使用來自glob,子程序 的名稱擴展了通配符在Unix shell的古老的Bourne版本中。

,我想通過\[KC\]\[Unix; common\]

我已經嘗試此正則表達式替換[KC][Unix; common]

/\[(?![^;]*;[^;]*;[^\]]*\])[^\]]+\]/g 

,但它不工作。

+0

但只有一個,更新的標題。 – jcubic

回答

2

只是一個小小的改變。由於[^;]也應該與]匹配,所以它還需要包括\]以及;,因爲它應該超過結尾括號]

\[((?![^;\]]*;[^;\]]*;[^\]]*\])[^\]]+)\] 

DEMO