ÕýÔò±í´ïʽÊÇÒ»¸ö´Ó×óµ½ÓÒÆ¥ÅäÄ¿±ê×Ö·û´®µÄģʽ¡£Ëü²»ÊÇPHPµÄרÊô£¬ÈçºÎÒ»ÃųÉÊìµÄÓïÑÔ¶¼Ö§³ÖÕýÔò£¬¿ÉÒÔ˵ÕýÔò¾ÍÊÇÒ»Ãűà³ÌÓïÑÔ¡£ÕâÀï¾ÍÖ»Ñо¿ PHP ÕýÔòµÄʹÓã¬ÏÈÀ´½éÉܼ¸¸öPHPÖÐʹÓÃÕýÔòµÄº¯Êý
PCREº¯Êý
#1 preg_match / preg_match_all
int preg_match / preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
²ÎÊý 1 £º$patternÆ¥Åäģʽ£»
²ÎÊý 2 £º$subjectÆ¥ÅäÔ´£»
²ÎÊý 3 £º$matches´æ´¢Æ¥Åä½á¹û£»
·µ»ØÖµ£ºpreg_matchÔÚµÚÒ»´ÎÆ¥Åäºó ½«»áÍ£Ö¹ËÑË÷£¬ËùÒÔËüµÄÖµ½«ÊÇ 0 ´Î£¨²»Æ¥Å䣩»ò 1´Îpreg_match_all() »áÒ»Ö±ËÑË÷subject Ö±µ½µ½´ï½áβ¡£
#2 preg_replace /preg_filter
mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
ÔÚ subject Ñ°ÕÒÓë pattern Æ¥ÅäµÄµÄÖµ²¢Ìæ»»³É replacement£¬·µ»ØÊÇÌæ»»Ö®ºóµÄ½á¹û¡£ pattern ºÍ replacement ¿ÉÒÔ×÷ΪÊý×é½øÐÐÌæ»»£¬preg_filter()µÈ¼ÛÓÚpreg_replace()£¬µ«ÔÚ´¦ÀíÊý×éÌ滻ʱ·µ»Ø½á¹ûÓÐËù²îÒ죬preg_replace²»¹ÜÆ¥Å䲻ƥÅ䣬Êý×éµÄÖµ¶¼½øÐзµ»Ø£¬preg_filter ·µ»ØÆ¥ÅäµÄÌæ»»Ö®ºóµÄÊý×épreg_grep
array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )
·µ»Ø¸ø¶¨Êý×é input ÖÐÓëģʽpattern Æ¥ÅäµÄÔªËØ×é³ÉµÄÊý×飬£¨Ñ˸î°æµÄpreg_filter£¬£©£¬Ö»Æ¥Å䣬²»Ìæ»»¡£
#3 preg_split
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
Éý¼¶°æµÄexplodeº¯Êý£¬ÔÚ subject Ñ°ÕÒÓë pattern Æ¥ÅäµÄµÄÖµ½«Æä×÷Ϊ·Ö¸îµã£¬Ã¿Ò»¶ÎΪÊý×éµÄÖµ¡£
#4 preg_quote
string preg_quote ( string $str [, string $delimiter = NULL ] )
תÒåÕýÔò±í´ïʽ×Ö·û£»
ģʽÓï·¨
ÕýÔò±í´ïʽÊÇÓÉÆÕͨ×Ö·û£¨ÀýÈç×Ö·û a µ½ z£©ÒÔ¼°ÌØÊâ×Ö·û£¨³ÆΪ¡±Ôª×Ö·û¡±£©×é³ÉµÄÎÄ×Öģʽ¡£
#1 Ô×Ó¸ÅÄî
Ô×ÓÊÇÕýÔò±í´ïʽÖÐ×îСµÄµ¥Î»£¬·ÖΪ¿É¼ûÔ×ÓÓë²»¿É¼ûÔ×Ó£¬¿É¼ûÔ×ÓÊÇÖ¸Unicode±àÂëÖÐÓüüÅÌÊä³öºóÈâÑۿɼûµÄ×Ö·û¡£
¹ØÓڿɼûÔ×ÓÐèҪעÒ⣺
1¡¢Æ¥ÅäÎÄ×Öʱ£¬ÐèÒª½«ÎÄ×Öת»»Îª¶ÔÓ¦µÄUnicode±àÂë¸ñʽ£¬·ñÔò»áÒò±àÂë¸ñʽµ¼ÖÂδ֪´íÎó£»
2¡¢\. \* \+ \? \£¬ËùÓÐÓÐÒâÒåµÄ×Ö·û£¬Èç¹ûÏë×÷ΪÔ×ÓʹÓ㬱ØÐëͳͳʹÓà \ תÒå×Ö·ûתÒ壻
²»¿É¼ûÔ×Ó¾ÍÊÇUnicode±àÂëÖÐÓüüÅÌÊä³öºóÈâÑÛ²»¿É¼ûµÄ×Ö·û£¬ÀýÈ磺£¨\n£©»»Ðзû¡¢£¨\r£©»Ø³µ¡¢£¨\t£©ÖƱí·û¡¢¿Õ¸ñµÈ¡£ºÃ£¬ÏÂÃ濪ʼÕýʽ½éÉÜÕýÔÚ±í´ïģʽµÄÓï·¨
#2 ·Ö¸ô·û
µ±Ê¹Óà PCRE º¯ÊýµÄʱºò£¬Ä£Ê½ÐèÒªÓÉ·Ö¸ô·û±ÕºÏ°ü¹ü¡£·Ö¸ô·û¿ÉÒÔʹÈÎÒâ·Ç×ÖĸÊý×Ö¡¢·Ç·´Ð±Ïß¡¢·Ç¿Õ°××Ö·û¡£
¾³£Ê¹Óõķָô·ûÊÇÕýбÏß(/)¡¢hash·ûºÅ(#) ÒÔ¼°È¡·´·ûºÅ(~)£»
Èç¹û·Ö¸ô·ûÐèÒªÔÚģʽÄÚ½øÐÐÆ¥Å䣬Ëü±ØÐëʹÓ÷´Ð±Ïß½øÐÐתÒå¡£Èç¹û·Ö¸ô·û¾³£ÔÚ Ä£Ê½ÄÚ³öÏÖ£¬ Ò»¸ö¸üºÃµÄÑ¡Ôñ¾ÍÊÇÊÇÓÃÆäËû·Ö¸ô·ûÀ´Ìá¸ß¿É¶ÁÐÔ¡£
#1 À´Ò»Ð©½ç¶¨·ûµÄÀõ×Ó£º
/http:\/\//#http://#
#3 Ôª×Ö·û
ÕýÔò±í´ïʽµÄÍþÁ¦Ô´ÓÚËü¿ÉÒÔÔÚģʽÖÐÓµÓÐÑ¡ÔñºÍÖظ´µÄÄÜÁ¦¡£ һЩ×Ö·û±»¸³Óè ÌØÊâµÄºÒ壬ʹÆä²»ÔÙµ¥´¿µÄ´ú±í×Ô¼º£¬Ä£Ê½ÖеÄÕâÖÖÓÐÌØÊâºÒåµÄ±àÂë×Ö·û ³ÆΪ Ôª×Ö·û¡£#1 Ôª×Ö·ûµÄ×÷ÓÃÖ® |¡¢[]¡¢[^] ¶¨ÒåÔ×ÓµÄɸѡ·½Ê½:
| Æ¥ÅäÁ½¸ö»ò¶à¸ö·Ö֧ѡÔñ È磺 Duang|duang£¬ Æ¥ÅäDuang»òÕßduang, ×¢ÒâDuangºÍduang±ØÐëÊÇÁ¬ÐøµÄ£»
[] Æ¥Åä·½À¨ºÅÖÐÈÎÒâÒ»¸öÔ×ÓÈ磺 [D,d]uang, Òâ˼ÊÇÆ¥ÅäDuang»òÕßduang£¬[34^9]Æ¥Åä3,4£¬^,9Õâ4¸öÔ×Ó£¬[0-9a-zA-Z]Æ¥×ÖĸºÍÊý×Ö£¬[3-6]Æ¥Åä3µ½6Ö®¼äµÄÊý×Ö
[^] Æ¥Åä³ýÁË·½À¨ºÅÖеÄÔ×Ó Èç[^0-9a-zA-Z]Æ¥Åä³ýÁË×ÖĸºÍÊý×ÖµÄÔ×Ó£¬ ÆäÖмâºÅ±ØÐë½ô¿¿×óÖÐÀ¨ºÅ
#2 Ôª×Ö·ûµÄ×÷ÓÃÖ®¶¨ÒåÔ×ӵļ¯ºÏ
. Æ¥Åä³ýÁË»»ÐзûÖ®ÍâµÄÈÎÒâ×Ö·û£¬ ºÍ[^\n]µÈ¼Û
\d Æ¥ÅäÈÎÒâÒ»¸öÊ®½øÖÆÊý×Ö ¼´[0-9]
\D Æ¥ÅäÈÎÒâÒ»¸ö·ÇÊ®½øÖÆÊý×Ö ¼´[^0-9]
\w Æ¥ÅäÈÎÒâÒ»¸öÊý×Ö£¬ ×Öĸ»òÏ»®Ïß [0-9a-zA-Z_]
\WÆ¥ÅäÈËÒ»¸ö·ÇÊý×Ö£¬ ×Öĸ»òÏ»®Ïß[^0-9a-zA-Z_]
\s Æ¥ÅäÒ»¸ö²»¿É¼ûµÄÔ×Ó ¼´[\f\n\r\t\v]
\SÆ¥ÅäÒ»¸ö¿É¼ûµÄÔ×Ó ¼´[^\f\n\r\t\v]
#4 Á¿´Ê
Öظ´´ÎÊýÊÇͨ¹ýÁ¿´ÊÖ¸¶¨µÄ£¬¿ÉÒÔ½ô¸úÔÚÏÂÃæÔªËØÖ®ºó£º
±ß½ç¿ØÖƼ°Ä£Ê½µ¥Ôª
^£ºÆ¥Åä×Ö·û´®¿ªÊ¼µÄλÖã¬Èç/^Dang/£¬¹æ¶¨µÚÒ»¸ö×Ö·û±ØÐëÊÇD£»
$£ºÆ¥Åä×Ö·û´®½áβµÄλÖã¬Èç /duang$/¹æ¶¨gÊÇ×îºóÒ»¸ö×Ö·û £»
()£ºÆ¥ÅäÆäÖеÄÕûÌåΪһ¸öÔ×Ó£¬Èç /(du|D)ang/ ÄÜÆ¥Åäµ½duang£»
#5 ÐÞÕýģʽ
ÏȽéÉÜÌ°À·Ä£Ê½ºÍÀÁ¶èģʽƥÅ䣬ÕýÔò±í´ïʽÖÐĬÈÏÊÇÌ°À·Ä£Ê½Æ¥ÅäµÄ£¬ ¼´Æ¥Åä½á¹û´æÔÚÆçÒåµÄʱºòÈ¡³¤µÄ£¬ÈçÏÂ
$pattern = '/123.+5/';$subject = '123456654321';$t1 = preg_match_all($pattern, $subject,$matches);var_dump($matches); #12345665
ÔÚģʽĩβÌõ¼þU±êʶ·ûÐÞ¸ÄΪÀÁ¶èģʽ£¬Æ¥Åä½á¹û´æÔÚÆçÒåµÄʱºòÈ¡¶ÌµÄ£º
$pattern = '/123.+5/U';$subject = '123456654321';$t1 = preg_match_all($pattern, $subject,$matches);var_dump($matches); #12345
³£¼ûµÄÐÞÕýģʽ×ܽáÓУº
U/u ÀÁ¶èģʽ/Ì°À·Ä£Ê½
i ºöÂÔÓ¢ÎÄ×ÖĸµÄ´óСд
x ºöÂÔ¿Õ°× °üÀ¨ÖƱí·ûºÍ¿Õ¸ñ
s ½«Ôª×Ö·û . Æ¥Åä°üÀ¨»»ÐзûÔÚÄÚµÄËùÓÐ×Ö·û
³£ÓÃģʽ
ÍøÉÏ·ÖÏí·Ç³£Óзdz£·á¸»µÄ³£ÓÃÕýÔò±í´ïʽµÄÆ¥Åäģʽ£¬ÕûÀíÈçÏ£º
1 EmailµØÖ·£º^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2 ÓòÃû£º[a-zA-Z0-9][-a-zA-Z0-9](/.[a-zA-Z0-9][-a-zA-Z0-9])+/.?
3 InternetURL£º[a-zA-z]+://[^\s]*
4 ÊÖ»úºÅÂë:^(13[0-9]|14[5|7]|15[0-9])\d$
5 µç»°ºÅÂë ^(\(\d-)|\d-)?\d$
6 ¹úÄڵ绰ºÅÂë(0511-4405222¡¢021-87888822)£º\d-\d|\d-\d
7 Éí·ÝÖ¤ºÅ(15λ¡¢18λÊý×Ö)£º^\d|\d$
8 ¶ÌÉí·ÝÖ¤ºÅÂë(Êý×Ö¡¢×Öĸx½áβ)£º^([0-9])(x|X)?$ »ò ^\d|[0-9x]|[0-9X]?$
9 ÕʺÅÊÇ·ñºÏ·¨(×Öĸ¿ªÍ·£¬ÔÊÐí5-16×Ö½Ú£¬ÔÊÐí×ÖĸÊý×ÖÏ»®Ïß)£º^[a-zA-Z][a-zA-Z0-9_]$
10 ÃÜÂë(ÒÔ×Öĸ¿ªÍ·£¬³¤¶ÈÔÚ6~18Ö®¼ä£¬Ö»ÄÜ°üº¬×Öĸ¡¢Êý×ÖºÍÏ»®Ïß)£º^[a-zA-Z]\w$
11 Ç¿ÃÜÂë(±ØÐë°üº¬´óСд×ÖĸºÍÊý×ÖµÄ×éºÏ£¬²»ÄÜʹÓÃÌØÊâ×Ö·û£¬³¤¶ÈÔÚ8-10Ö®¼ä)£º^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).$
12 ÈÕÆÚ¸ñʽ£º^\d-\d-\d
13 Ò»ÄêµÄ12¸öÔÂ(01¡«09ºÍ1¡«12)£º^(0?[1-9]|1[0-2])$
14 Ò»¸öÔµÄ31Ìì(01¡«09ºÍ1¡«31)£º^((0?[1-9])|((1|2)[0-9])|30|31)$
15 ¿Õ°×ÐеÄÕýÔò±í´ïʽ£º\n\s*\r (¿ÉÒÔÓÃÀ´É¾³ý¿Õ°×ÐÐ)
16 Ê×β¿Õ°××Ö·ûµÄÕýÔò±í´ïʽ£º^\s*|\s*$
17ÌÚѶQQºÅ£º[1-9][0-9] (ÌÚѶQQºÅ´Ó10000¿ªÊ¼)
18 ÖйúÓÊÕþ±àÂ룺[1-9]\d(?!\d) (ÖйúÓÊÕþ±àÂëΪ6λÊý×Ö)
19 IPµØÖ·£º\d+\.\d+\.\d+\.\d+ (ÌáÈ¡IPµØַʱÓÐÓÃ)
ÕýÔòÖл¹Óв¿·Ö¸ß¼¶ÌØÐÔûÓмǼ£¬ÈçÓÐÐèÒªÍƼöÊé¼®£º¡¶¾«Í¨ÕýÔò±í´ïʽ¡·½øÐÐÑо¿£»
Bye..
ÁìȡרÊô 10ÔªÎÞÃż÷ȯ
˽Ïí×îР¼¼Êõ¸É»õ