搜尋

隨機推薦

在 Linux 下日常應用和寫程序,免不了和正規表示式打交道,要說這個東西確實非常強大,但是很多語法和規則卻不是那麼容易記下來,往往到了手頭就忘記怎麼寫了。

這裡有兩個正規表示式的速查表,都非常的簡短,只有一頁 A4 紙大小,可以方便的打印出來粘到牆上去,下次再忘記抬個頭就可以了~

第一個是來自 erudil.com 的A Single Page Perl Regular Expression Quick Reference(PDF格式查看)


 imUKQc.jpg (1050×674)

 

用來應付日常要用到正規表示式的工作足以, 如果想深入瞭解一下正規表示式的全部用法的話,還是去買本 O'reilly 的《Mastering Regular Expressions》吧~

一個正則表達式就是由普通字符(例如字符 a 到 z)以及特殊字符(稱為元字符)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。 


這裡有一些可能會遇到的正則表達式示例: 


Visual Basic VBScript 匹配 

Scripting Edition 


/^\[ \t]*$/ "^\[ \t]*$" 匹配一個空白行。 


/\d{2}-\d{5}/ "\d{2}-\d{5}" 驗證一個ID號碼是否由一個2位字,一 

個連字符以及一個5位數字組成。 


/<(.*)>.*<\/\1>/ "<(.*)>.*<\/\1>" 匹配一個 HTML 標記。 

 

在 Perl 程式中我們常會需要比較某個字串是否合於某個樣式, 以便決定是否對這個字串資料作進一步的處理, 這裡的樣式就是所謂的正規表示式

一個簡單的例子

if ( $str =~ /abc/ ) {
print $str;
}

上面這個例子是說如果 $str 比對符合有 abc 這個字串, 就將 $str 印出來

1. =~ 代表的是比對符合
2. !~ 可以用來表示比對不符合的情形
3. 如果要 case insensitive 比對, 用 /abc/i 代替 /abc/ 即可
4. / 代表比對邊界的開始與結束
5. 如果要比對的字串中含有 / 字元, 以 $str 是否比對符合有 "/home" 字串為例, 比對敘述可以有下面兩種處理方式
a. $str =~ /\/home/
將 / 字元前面加一反斜線 \, 讓字串中的 / 字元不具有比對邊界字元的意思
b. $str =~ m!/home!
透過 m 命令將邊界字元換成其它字元, 在這裡我們將邊界字元換成 !

 


你有沒有想過在運行大型複雜的JavaScript腳本的時候不會發生瀏覽器假死

你有沒有想過JavaScript可以在後台運行?

你有沒有想過JavaScript函數甚至可以在多個進程中同時運行?


不可能?當你看完本文,也許會讓你感覺很興奮!

 

什麼是Web Workers

Web Workers為WEB前端網頁上的腳本提供了一種能在後台進程中運行的方法。一旦它被創建,Web Workers就可以通過postMessage()向任務池發送任務請求,執行完之後再通過postMessage()返回消息給創建者指定的事件處理程序(通過onmessage進行捕獲)。


Web Workers進程能夠在不影響用戶界面的情況下處理任務,並且,它還可以使用XMLHttpRequest來處理I/O,無論responseXML和channel屬性是否為null。

注意:通常,後台進程(包括web workers進程)不能對DOM進行操作。如果希望後台程序處理的結果能夠改變DOM,只能通過返回消息給創建者的回調函數進行處理。

在我們設計網頁的時候,總會遇到一些不愉快的事情,最常見的莫過於在後台添加內容後才發現顯示的頁面被撐開,導致網頁極度不美觀。以前大家基本上都是設計 表格,網上自然不少對於的解決方法,如今還有div+css標準設計,很少看到相關好的方法,現在把平時找到的防止表格被撐開的好方法總結歸納一下,和大 家一起分享。

防止表格被撐開或div層被撐開的多種方法在 我們設計網頁的時候,總會遇到一些不愉快的事情,最常見的莫過於在後台添加內容後才發現顯示的頁面被撐開,導致網頁極度不美觀。以前大家基本上都是設計表 格,網上自然不少對於的解決方法,如今還有div+css標準設計,很少看到相關好的方法,現在把平時找到的防止表格被撐開的好方法總結歸納一下,和大家 一起分享。
一、直接在網頁裡設置圖片大小,比如代碼:http://www.krjpg.cn/www.xxol.net.jpg" width="600" height="500" border="0">,這樣雖然可以限制了圖片大小,但是需要在上傳圖片之前手動修改圖片大小,否則上傳的圖片就會變形。

mysql查詢默認是不區分大小寫的 如:

select * from table_name where a like 'a%'
select * from table_name where a like 'A%'

效果是一樣的。

要讓mysql查詢區分大小寫,可以:

select * from table_name where binary a like 'a%'
select * from table_name where binary a like 'A%'

也可以在建表時,加以標識

create table table_name(
     a varchar(20) binary  
)

有時候看見網頁上的圖片很漂亮,一張一張另存為太慢了,今天發現這個方法,測試了一下,哈,爽呆了~~


首先打開有圖片的網頁,完全打開後,在網址欄輸入:

javascript:Ai7Mg6P='';for%20(i7M1bQz=0;i7M1bQz<document.images.length;i7M1bQz++){Ai7Mg6P+='<img%20src='+document.images[i7M1bQz].src+'><br>'};if(Ai7Mg6P!=''){document.write('<center>'+Ai7Mg6P+'</center>');void(document.close())}else{alert('No%20images!')}

再按Enter! 呵呵 就可以羅列出頁面中的所有圖片 :)

 

另外還有:不顯示網頁中圖片的代碼:

javascript:for(jK6bvW=0;jK6bvW<document.images.length;jK6bvW++){void(document.images[jK6bvW].style.visibility='hidden')}


網頁文字縮小0.5倍:

javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)-50)+'%');}else s.setAttribute('zoom','50%')

 

放大1.5倍:

javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)+50)+'%');}else s.setAttribute('zoom','150%')

本文探討了提高MySQL 數據庫性能的思路,並從8個方面給出了具體的解決方法。

1、選取最適用的字段屬性

MySQL可以很好的支持大數據量的存取,但是一般說來,數據庫中的表越小,在它上面執行的查詢也就會越快。因此,在創建表的時候,為了獲得更 好的性能,我們可以將表中字段的寬度設得儘可能小。例如,在定義郵政編碼這個字段時,如果將其設置為CHAR(255),顯然給數據庫增加了不必要的空 間,甚至使用VARCHAR這種類型也是多餘的,因為CHAR(6)就可以很好的完成任務了。同樣的,如果可以的話,我們應該使用MEDIUMINT而不 是 BIGIN來定義整型字段。

另外一個提高效率的方法是在可能的情況下,應該儘量把字段設置為NOT NULL,這樣在將來執行查詢的時候,數據庫不用去比較NULL值。

對於某些文本字段,例如「省份」或者「性別」,我們可以將它們定義為ENUM類型。因為在MySQL中,ENUM類型被當作數值型數據來處理,而數值型數據被處理起來的速度要比文本類型快得多。這樣,我們又可以提高數據庫的性能。

中文分詞是做好中文內容檢索、文本分析的基礎,主要應用於搜索引擎與數據挖掘領域。中文是以詞為基本語素單位,而詞與詞之間並不像英語一樣有空格來分隔,因而中文分詞的難點在於如何準確而又快速地進行分詞。以下介紹4款開源中文分詞系統。

 

Please publish modules in offcanvas position.