標籤:style java 使用 strong 資料 io cti 代碼
13.3.5 Regex
Regex所支援的合法字元
| 字元 |
解釋 |
| x(x‘可代表任何合法的字元) |
字元x |
| \0mnn |
八位元0mnn所表示的字元 |
| \xhh |
十六進位值0xhh所表示的字元 |
| \uhhhh |
十六進位值0xhhhh所表示的Unicode字元 |
| \t |
定位字元(‘\u0009‘) |
| \n |
新行(換行) 符 (‘\u000A‘) |
| \r |
斷行符號符(‘\u000D‘) |
| \f |
換頁符(‘\u000C‘) |
| \a |
警示(bell)符(‘\u0007‘) |
| \e |
Escape符(‘\u001B‘) |
| \cx |
x對應的控制符。例如,\cM匹配Ctrl+M。x值必須為A~Z或a~z之一 |
Regex所支援的“萬用字元”
| 預定義字元 |
說明 |
| . |
可以匹配任何字元 |
| \d |
匹配0~9的所有數字 |
| \D |
匹配非數字 |
| \s |
匹配所有的空白字元,包括空格、定位字元、斷行符號符、換頁符、分行符號等 |
| \S |
匹配所有的非空白字元 |
| \w |
匹配所有的單詞字元,包括0~9的所有數字,26個英文字母和底線(_) |
| \W |
匹配所有的非單詞字元 |
| []標記法 |
這種標記法最為靈活。例如,[a-z]表示a到z之間任意一個字元,[a-z0-9]表示a到z,或0到9的任意
一個字元,[\u4e00-\u9fff]匹配任意一個漢字(u4e00到u9fff是漢字的Unicode碼值範圍) |
| $ |
匹配一行的結尾。要匹配$字元本身,請使用\$ |
| ^ |
匹配一行的開頭。要匹配^字元本身,請使用\^ |
特殊字元(頻繁修飾詞)
| 特殊字元 |
說明 |
| ? |
指定前面子運算式可以出現零次或一次。要匹配 ? 字元,請使用\? |
| * |
指定前面子運算式可以出現零次或多次。要匹配 * 字元,請使用\* |
| + |
指定前面子運算式可以出現一次或多次。要匹配 + 字元,請使用\+ |
| {m,n}標記法 |
這種標記法最靈活,前面子運算式最少出現m次,最多出現n次。m、n兩個數值都可以省略,
如果省略m,則表示最少可出現0次;如果省略n,則表示最多可出現無限多次 |
除此之外,Regex還支援()標記法,用()可以將一個運算式形成一個固定組。還可以再()內使用豎線表示互斥,
例如/((abc)|(efg))/可匹配abc或efg。
Regex代碼示範:
function trim(s)
{
//將所有匹配的內容替換成‘‘(即截取前、後的空格)
return s.replace(/(^\s*)|(\s*$)/g,"");
}
//輸出截去了前後空白的字串 即:Hello,JavaScript
alert(trim(‘ Hello,javaScript ‘));
13.4 複合類型
複合類型是有多個基礎資料型別 (Elementary Data Type)(也可以包括複合類型)組成的資料體。
JavaScript中的複合類型大致上有如下3中:
Object:對象。
Array:數組。
Function:函數。
13.4.1 對象
除了Object之外,JavaScript還提供了如下常用的內建類
Array:數組類。
Date:日期類。
Error:錯誤類。
Function:函數類。
Math:數字類,該對象包含相當多的執行數學運算的方法。
Number:數值類。
Object:對象類。
String:字串類。
13.4.2 數組
JavaScript中數組元素的類型可以不相同。定義一個數組有如下3種方法。
var a = [3,5,23];
var b =[];
var c = new Array();
第一種在定義數組時已為數組完成了數組元素的初始化,第二種和第三種都只建立一個空數組。
13.4.3 函數
JavaScript的函式宣告中,參數列表不需要資料類型聲明,函數的傳回值也不需要資料類型聲明。
函數定義的文法格式如下:
function functionName(param1,param2,.....)
{
}