顯示具有 正規表示 標籤的文章。 顯示所有文章
顯示具有 正規表示 標籤的文章。 顯示所有文章

2017年3月2日 星期四

RegExp 應用: lookahead , lookbehind

正規表示法一直都是我很推大家學習的東西,在字串處理上真的有很大很大的幫助以及好處,前幾天朋友工作上需要用到正規表示法處理字串,目的是:「在一個字串中找出連續數字 6~8 個」,這邊要注意的是,連續九個的話是不要的。

例如: 12345 XD Hi12345678ab666666cd987654321

要找出: 12345678 和 666666;但不可以找出 987654321 中的 98765432 或者 87654321

於是我第一個想到的東西就是 Lookahead 和 lookbehind。

先來看一下如果直接使用 \d{6,8} 會取出什麼:Visual Regex Tester
可以看到,直接使用 \d{6,8} 是會連後方的 987654321 取出來。

最後我給的的解法是:(?<!\d)\d{6,8}(?!\d),結果:Visual Regex Tester

重點就在前面的 (?<!\d) 和後面的 (?!\d) 這兩個表示法,他們分別代表的是
negative lookbehindnegative lookahead

2009年7月14日 星期二

Regular Expression - General

Regular Expression 正規表示式

這是什麼東東?這個是.... 請看 Wikipedia XD

其中一種用法可以這樣來看,有一個句子
我們要怎麼樣來形容他?

這個形容的辭句也就是正規表示法的意思
比如說一個句子:『The 1st thing is to eat something.』
可以這樣形容:【The 數字st thing is to eat something.】

就差不多是這個意思,當然正規表示法有很多的符號可以使用
根據程式的不同,正規表示法有部份也會有所出入。

基本上一些特殊符號如下: