ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>
1. vi /etc/profile
2. å¢žåŠ å¦‚ä¸‹å†…å®¹
JDK环境
export JAVA_HOME=/usr/java5
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
�br />
JDK & Tomcat 环境å˜é‡
export CATALINA_HOME=/opt/jakarta-tomcat-5.0.28
export JAVA_HOME=/usr/java5
export PATH=$PATH:$CATALINA_HOME/bin/:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
3. 佉K…¾|®ç”Ÿæ•?br />
 . /etc/profile
 æ³? åŽé¢æœ‰ä¸€ä¸ªç©ºæ ?/p>
"^[0-9]*[1-9][0-9]*$"  //æ£æ•´æ•?
"^((-\d+)|(0+))$"  //éžæ£æ•´æ•°åQˆè´Ÿæ•´æ•° + 0åQ?
"^-[0-9]*[1-9][0-9]*$"  //负整�
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //éžè´Ÿ‹¹®ç‚¹æ•ŽÍ¼ˆæ£æÕQç‚ÒŽ•° + 0åQ?
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //æ£æÕQç‚ÒŽ•°
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //éžæ£‹¹®ç‚¹æ•ŽÍ¼ˆè´ŸæÕQç‚ÒŽ•° + 0åQ?
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //è´ŸæÕQç‚ÒŽ•°
"^(-?\d+)(\.\d+)?$"  //‹¹®ç‚¹æ•?
"^[A-Za-z]+$"  //ç”?6ä¸ªè‹±æ–‡å—æ¯ç»„æˆçš„å—符ä¸?
"^[A-Z]+$"  //ç”?6ä¸ªè‹±æ–‡å—æ¯çš„大写¾l„æˆçš„å—½W¦ä¸²
"^[a-z]+$"  //ç”?6ä¸ªè‹±æ–‡å—æ¯çš„ž®å†™¾l„æˆçš„å—½W¦ä¸²
"^[A-Za-z0-9]+$"  //由数å—å’Œ26ä¸ªè‹±æ–‡å—æ¯ç»„æˆçš„å—符ä¸?
"^\w+$"  //由数å—ã€?6ä¸ªè‹±æ–‡å—æ¯æˆ–者下划线¾l„æˆçš„å—½W¦ä¸²
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地å€
"^[a-zA-z]+:\/\/(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
匚w…䏿–‡å—符的æ£åˆ™è¡¨è¾‘Ö¼åQ?[\u4e00-\u9fa5]
匚w…åŒå—节嗽W?包括汉å—在内)åQš[^\x00-\xff]
应用åQšè®¡½Ž—å—½W¦ä¸²çš„长度(一个åŒå—节å—符长度è®?åQŒASCIIå—符è®?åQ?
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
匚w…½Iø™¡Œçš„æ£åˆ™è¡¨è¾‘Ö¼åQš\n[\s| ]*\r
匚w…HTMLæ ‡è®°çš„æ£åˆ™è¡¨è¾‘Ö¼åQ?<(.*)>.*<\/\1>|<(.*) \/>/
匚w…首尾½Iºæ ¼çš„æ£åˆ™è¡¨è¾‘Ö¼åQ?^\s*)|(\s*$)
[b]利用æ£åˆ™è¡¨è¾¾å¼é™åˆ¶ç½‘™åµè¡¨å•里的文本框输入内容åQš[/b]
[b]用æ£åˆ™è¡¨è¾‘Ö¼é™åˆ¶åªèƒ½è¾“入䏿–‡åQš[/b] onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
[b]用æ£åˆ™è¡¨è¾‘Ö¼é™åˆ¶åªèƒ½è¾“入全角å—符åQš[/b] onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
[b]用æ£åˆ™è¡¨è¾‘Ö¼é™åˆ¶åªèƒ½è¾“入数å—åQš[/b] onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
[b]用æ£åˆ™è¡¨è¾‘Ö¼é™åˆ¶åªèƒ½è¾“入数å—和英文:[/b] onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
æ£åˆ™è¡¨è¾¾å¼è¯æ³?/STRONG>
å—符 说明
\ ž®†ä¸‹ä¸€å—ç¬¦æ ‡è®°ä¸ºç‰¹ŒDŠå—½W¦ã€æ–‡æœ¬ã€åå‘引用或八进制è{义符。例如,“nâ€åŒ¹é…å—½W¦â€œnâ€ã€‚“\nâ€åŒ¹é…æ¢è¡Œç¬¦ã€‚åºåˆ—“\\â€åŒ¹é…“\â€ï¼Œâ€œ\(â€åŒ¹é…â€?â€ã€?
^ é…输入嗽W¦ä¸²å¼€å§‹çš„ä½ç½®ã€‚如果设¾|®äº† RegExp 对象çš?Multiline 属性,^ ˜q˜ä¼šä¸Žâ€œ\nâ€æˆ–“\râ€ä¹‹åŽçš„ä½ç½®åŒšw…ã€?
$ 匚w…输入å—符串结ž®„¡š„ä½ç½®ã€‚如果设¾|®äº† RegExp 对象çš?Multiline 属性,$ ˜q˜ä¼šä¸Žâ€œ\nâ€æˆ–“\râ€ä¹‹å‰çš„ä½ç½®åŒšw…ã€?
* 零次或多‹Æ¡åŒ¹é…å‰é¢çš„å—符或å表达å¼ã€‚例如,zo* 匚w…“zâ€å’Œâ€œzooâ€ã€? ½{‰æ•ˆäº?{0,}ã€?
+ 一‹Æ¡æˆ–多次匚w…å‰é¢çš„å—½W¦æˆ–å表辑ּ。例如,“zo+â€ä¸Žâ€œzoâ€å’Œâ€œzooâ€åŒ¹é…,但与“zâ€ä¸åŒšw…ã€? ½{‰æ•ˆäº?{1,}ã€?
? 零次或一‹Æ¡åŒ¹é…å‰é¢çš„å—符或å表达å¼ã€‚例如,“do(es)?â€åŒ¹é…“doâ€æˆ–“doesâ€ä¸çš„“doâ€ã€? ½{‰æ•ˆäº?{0,1}ã€?
{n} n 是éžè´Ÿæ•´æ•°ã€‚æ£å¥½åŒ¹é…?n ‹Æ¡ã€‚例如,“o{2}â€ä¸Žâ€œBobâ€ä¸çš„“oâ€ä¸åŒšw…åQŒä½†ä¸Žâ€œfoodâ€ä¸çš„两个“oâ€åŒ¹é…ã€?
{n,} n 是éžè´Ÿæ•´æ•°ã€‚至ž®‘匹é…?n ‹Æ¡ã€‚例如,“o{2,}â€ä¸åŒšw…“Bobâ€ä¸çš„“oâ€ï¼Œè€ŒåŒ¹é…“fooooodâ€ä¸çš„æ‰€æœ?oã€?o{1,}' ½{‰æ•ˆäº?'o+'ã€?o{0,}' ½{‰æ•ˆäº?'o*'ã€?
{n,m} m å’?n 是éžè´Ÿæ•´æ•ŽÍ¼Œå…¶ä¸ n <= m。至ž®‘匹é…?n ‹Æ¡ï¼Œè‡›_¤šåŒšw… m ‹Æ¡ã€‚例如,“o{1,3}â€åŒ¹é…“foooooodâ€ä¸çš„头三个 oã€?o{0,1}' ½{‰æ•ˆäº?'o?'。注æ„:您ä¸èƒ½å°†½Iºæ ¼æ’入逗å·å’Œæ•°å—之间ã€?
? 当æ¤å—符紧éšä»ÖM½•å…¶ä»–é™å®š½W¦ï¼ˆ*ã€?ã€?ã€{n}ã€{n,}ã€{n,m}åQ‰ä¹‹åŽæ—¶åQŒåŒ¹é…æ¨¡å¼æ˜¯â€œéžè´ªå¿ƒçš„â€ã€‚“éžè´ªå¿ƒçš„â€æ¨¡å¼åŒ¹é…æœç´¢åˆ°çš„ã€å°½å¯èƒ½çŸçš„å—符ä¸ÔŒ¼Œè€Œé»˜è®¤çš„â€œè´ªå¿ƒçš„â€æ¨¡å¼åŒ¹é…æœç´¢åˆ°çš„ã€å°½å¯èƒ½é•¿çš„å—符丌Ӏ‚例如,在嗽W¦ä¸²â€œooooâ€ä¸åQŒâ€œo+?â€åªåŒšw…å•个“oâ€ï¼Œè€Œâ€œo+â€åŒ¹é…所有“oâ€ã€?
. 匚w…除“\nâ€ä¹‹å¤–çš„ä»ÖM½•å•个å—符。若è¦åŒ¹é…包括“\nâ€åœ¨å†…çš„ä»ÀL„å—符åQŒè¯·ä½¿ç”¨è¯¸å¦‚“[\s\S]â€ä¹‹¾cÈš„模å¼ã€?
(pattern) 匚w… pattern òq¶æ•莯‚¯¥åŒšw…çš„å表达å¼ã€‚å¯ä»¥ä‹Éç”?$0...$9 属性从¾l“果“匹é…â€é›†åˆä¸‹‚€ç´¢æ•èŽïLš„匚w…。若è¦åŒ¹é…括å·å—½W?( )åQŒè¯·ä½¿ç”¨â€œ\(â€æˆ–者“\)â€ã€?
(?:pattern) 匚w… pattern 但䏿•获该匹é…çš„å表辑ּåQŒå³å®ƒæ˜¯ä¸€ä¸ªéžæ•获匚w…åQŒä¸å˜å‚¨ä¾›ä»¥åŽä‹É用的匚w…。这对于用“或â€å—½W?(|) ¾l„åˆæ¨¡å¼éƒ¨äšg的情况很有用。例如,与“industry|industriesâ€ç›¸æ¯”,“industr(?:y| ies)â€æ˜¯ä¸€ä¸ªæ›´åŠ ç»‹¹Žçš„表达å¼ã€?
(?=pattern) 执行æ£å‘预测先行æœçƒ¦çš„å表达å¼ï¼Œè¯¥è¡¨è¾‘ּ匚w…处于匚w… pattern 的嗽W¦ä¸²çš„è“v始点的嗽W¦ä¸²ã€‚å®ƒæ˜¯ä¸€ä¸ªéžæ•获匚w…åQŒå³ä¸èƒ½æ•获供以åŽä‹É用的匚w…。例如,“Windows (?=95| 98| NT| 2000)â€ä¸Žâ€œWindows 2000â€ä¸çš„“Windowsâ€åŒ¹é…,但ä¸ä¸Žâ€œWindows 3.1â€ä¸çš„“Windowsâ€åŒ¹é…。预‹¹‹å…ˆè¡Œä¸å 用å—符åQŒå³å‘生匚w…åŽï¼Œä¸‹ä¸€åŒšw…çš„æœç´¢ç´§éšä¸Šä¸€åŒšw…之åŽåQŒè€Œä¸æ˜¯åœ¨¾l„æˆé¢„测先行的嗽W¦åŽã€?
(?!pattern) 执行åå‘预测先行æœçƒ¦çš„å表达å¼ï¼Œè¯¥è¡¨è¾‘ּ匚w…ä¸å¤„于匹é…?pattern 的嗽W¦ä¸²çš„è“v始点的æœç´¢å—½W¦ä¸²ã€‚å®ƒæ˜¯ä¸€ä¸ªéžæ•获匚w…åQŒå³ä¸èƒ½æ•获供以åŽä‹É用的匚w…。例如,“Windows (?!95| 98| NT| 2000)â€ä¸Žâ€œWindows 3.1â€ä¸çš„“Windowsâ€åŒ¹é…,但ä¸ä¸Žâ€œWindows 2000â€ä¸çš„“Windowsâ€åŒ¹é…。预‹¹‹å…ˆè¡Œä¸å 用å—符åQŒå³å‘生匚w…åŽï¼Œä¸‹ä¸€åŒšw…çš„æœç´¢ç´§éšä¸Šä¸€åŒšw…之åŽåQŒè€Œä¸æ˜¯åœ¨¾l„æˆé¢„测先行的嗽W¦åŽã€?
x| y ä¸?x æˆ?y 匚w…。例如,“z| foodâ€ä¸Žâ€œzâ€æˆ–“foodâ€åŒ¹é…。â€?z| f)oodâ€ä¸Žâ€œzoodâ€æˆ–“foodâ€åŒ¹é…ã€?nbsp;
[xyz] å—符集。匹é…包å«çš„ä»ÖM¸€å—符。例如,“[abc]â€åŒ¹é…“plainâ€ä¸çš„“aâ€ã€?nbsp;
[^xyz] åå‘å—ç¬¦é›†ã€‚åŒ¹é…æœªåŒ…å«çš„ä“Q何嗽W¦ã€‚例如,“[^abc]â€åŒ¹é…“plainâ€ä¸çš„“pâ€ã€?nbsp;
[a-z] å—ç¬¦èŒƒå›´ã€‚åŒ¹é…æŒ‡å®šèŒƒå›´å†…çš„ä“Q何嗽W¦ã€‚例如,“[a-z]â€åŒ¹é…“aâ€åˆ°â€œzâ€èŒƒå›´å†…çš„ä“Q何å°å†™å—æ¯ã€?nbsp;
[^a-z] åå‘范围å—符。匹é…ä¸åœ¨æŒ‡å®šçš„范围内的ä»ÖM½•å—符。例如,“[^a-z]â€åŒ¹é…ä“Q何ä¸åœ¨â€œaâ€åˆ°â€œzâ€èŒƒå›´å†…çš„ä“Q何嗽W¦ã€?nbsp;
\b 匚w…一个å—边界åQŒå³å—与½Iºæ ¼é—´çš„ä½ç½®ã€‚例如,“er\bâ€åŒ¹é…“neverâ€ä¸çš„“erâ€ï¼Œä½†ä¸åŒšw…“verbâ€ä¸çš„“erâ€ã€?nbsp;
\B éžå—边界匚w…。“er\Bâ€åŒ¹é…“verbâ€ä¸çš„“erâ€ï¼Œä½†ä¸åŒšw…“neverâ€ä¸çš„“erâ€ã€?nbsp;
\cx 匚w…ç”?x 指示的控制嗽W¦ã€‚例如,\cM 匚w…一ä¸?Control-M 或回车符。x 的值必™åÕdœ¨ A-Z æˆ?a-z ä¹‹é—´ã€‚å¦‚æžœä¸æ˜¯è¿™æ øP¼Œåˆ™å‡å®?c ž®±æ˜¯â€œcâ€å—½W¦æœ¬íw«ã€?nbsp;
\d æ•°å—å—符匚w…ã€‚ç‰æ•ˆäºŽ [0-9]ã€?nbsp;
\D éžæ•°å—å—½W¦åŒ¹é…ã€‚ç‰æ•ˆäºŽ [^0-9]ã€?nbsp;
\f æ¢é¡µ½W¦åŒ¹é…ã€‚ç‰æ•ˆäºŽ \x0c å’?\cLã€?
\n æ¢è¡Œ½W¦åŒ¹é…ã€‚ç‰æ•ˆäºŽ \x0a å’?\cJã€?
\r 匚w…ä¸€ä¸ªå›žè½¦ç¬¦ã€‚ç‰æ•ˆäºŽ \x0d å’?\cMã€?
\s 匚w…ä»ÖM½•½Iºç™½å—符åQŒåŒ…æ‹¬ç©ºæ ¹{€åˆ¶è¡¨ç¬¦ã€æ¢™å늬¦½{‰ã€‚与 [ \f\n\r\t\v] ½{‰æ•ˆã€?
\S 匚w…ä»ÖM½•éžç©ºç™½å—½W¦ã€‚ç‰ä»·äºŽ [^ \f\n\r\t\v]ã€?nbsp;
\t 制表½W¦åŒ¹é…。与 \x09 å’?\cI ½{‰æ•ˆã€?
\v 垂直制表½W¦åŒ¹é…。与 \x0b å’?\cK ½{‰æ•ˆã€?
\w 匚w…ä»ÖM½•å—ç±»å—符åQŒåŒ…括下划线。与“[A-Za-z0-9_]â€ç‰æ•ˆã€?nbsp;
\W ä»ÖM½•éžå—å—符匚w…。与“[^A-Za-z0-9_]â€ç‰æ•ˆã€?nbsp;
\xn 匚w… nåQŒæ¤å¤„çš„ n 是一个åå…进制è{义ç 。åå…进制è{义ç å¿…é¡»æ£å¥½æ˜¯ä¸¤ä½æ•°é•Ñ€‚例如,“\x41â€åŒ¹é…“Aâ€ã€‚“\x041â€ä¸Žâ€œ\x04â€?amp;â€?â€ç‰æ•ˆã€‚å…许在æ£åˆ™è¡¨è¾¾å¼ä¸ä½¿ç”¨ ASCII 代ç ã€?
\num 匚w… numåQŒæ¤å¤„çš„ num æ˜¯ä¸€ä¸ªæ£æ•´æ•°ã€‚到æ•获匚w…çš„åå‘引用。例如,â€?.)\1â€åŒ¹é…两个连¾l的相åŒå—符ã€?nbsp;
\n æ ‡è¯†ä¸€ä¸ªå…«˜q›åˆ¶è½¬ä¹‰ç 或åå‘引用。如æž?\n å‰é¢è‡›_°‘æœ?n 个æ•获å表达å¼ï¼Œé‚£ä¹ˆ n 是åå‘引用。å¦åˆ™ï¼Œå¦‚æžœ n 是八˜q›åˆ¶æ•?(0-7)åQŒé‚£ä¹?n 是八˜q›åˆ¶è½¬ä¹‰ç ã€?
\nm æ ‡è¯†ä¸€ä¸ªå…«˜q›åˆ¶è½¬ä¹‰ç 或åå‘引用。如æž?\nm å‰é¢è‡›_°‘æœ?nm 个æ•获å表达å¼ï¼Œé‚£ä¹ˆ nm 是åå‘引用。如æž?\nm å‰é¢è‡›_°‘æœ?n 个æ•èŽøP¼Œé‚£ä¹ˆ n 是åå‘引用,åŽé¢è·?m。如果å‰é¢çš„æ¡äšgå‡ä¸å˜åœ¨åQŒé‚£ä¹ˆå½“ n å’?m 是八˜q›åˆ¶æ•?(0-7) æ—Óž¼Œ\nm 匚w…八进制è{义ç nmã€?
\nml å½?n 是八˜q›åˆ¶æ•?(0-3)åQŒm å’?l 是八˜q›åˆ¶æ•?(0-7) æ—Óž¼ŒåŒšw…八进制è{义ç nmlã€?
\un 匚w… nåQŒå…¶ä¸?n 是以四ä½åå…˜q›åˆ¶æ•°è¡¨½Cºçš„ Unicode å—符。例如,\u00A9 匚w…版惽W¦å· (?)ã€?