ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

pythonÕýÔò±í´ïʽmatch search ºÍfindallÖ®¼äµÄÇø±ðÊÇʲô£¿[Èí¼þ²âÊÔÅàѵ]

¸üÐÂʱ¼ä:2019Äê11ÔÂ11ÈÕ15ʱ24·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

ÕýÔò±í´ïʽÊÇÒ»¸öÌØÊâµÄ×Ö·ûÐòÁУ¬ËüÄܰïÖúÄã·½±ãµÄ¼ì²éÒ»¸ö×Ö·û´®ÊÇ·ñÓëijÖÖģʽƥÅä¡£
Python ×Ô1.5°æ±¾ÆðÔö¼ÓÁËre Ä£¿é£¬ËüÌṩ Perl ·ç¸ñµÄÕýÔò±í´ïʽģʽ¡£
re Ä£¿éʹ Python ÓïÑÔÓµÓÐÈ«²¿µÄÕýÔò±í´ïʽ¹¦ÄÜ¡£
compile º¯Êý¸ù¾ÝÒ»¸öģʽ×Ö·û´®ºÍ¿ÉÑ¡µÄ±êÖ¾²ÎÊýÉú³ÉÒ»¸öÕýÔò±í´ïʽ¶ÔÏ󡣸öÔÏóÓµÓÐһϵÁз½·¨ÓÃÓÚÕýÔò±í´ïʽƥÅäºÍÌæ»»¡£
reÄ£¿éÒ²ÌṩÁËÓëÕâЩ·½·¨¹¦ÄÜÍêȫһÖµĺ¯Êý£¬ÕâЩº¯ÊýʹÓÃÒ»¸öģʽ×Ö·û´®×öΪËüÃǵĵÚÒ»¸ö²ÎÊý¡£
ÍÆ¼öÁ˽⣺ÀÖÓã²¥¿ÍÈí¼þ²âÊÔѧ¿Æ

re.matchº¯Êý

re.match ³¢ÊÔ´Ó×Ö·û´®µÄÆðʼλÖÃÆ¥ÅäÒ»¸öģʽ£¬Èç¹û²»ÊÇÆðʼλÖÃÆ¥Åä³É¹¦µÄ»°£¬match()¾Í·µ»Ønone¡£
º¯ÊýÓï·¨£º

re.match(pattern, string, flags=0)

º¯Êý²ÎÊý˵Ã÷£º
²ÎÊý ÃèÊö
pattern Æ¥ÅäµÄÕýÔò±í´ïʽ
string ҪƥÅäµÄ×Ö·û´®¡£
flags ±ê־룬ÓÃÓÚ¿ØÖÆÕýÔò±í´ïʽµÄÆ¥Å䷽ʽ£¬È磺ÊÇ·ñÇø·Ö´óСд£¬¶àÐÐÆ¥ÅäµÈµÈ¡£

Æ¥Åä³É¹¦re.match·½·¨·µ»ØÒ»¸öÆ¥ÅäµÄ¶ÔÏ󣬷ñÔò·µ»ØNone¡£
 
reÄ£¿éµÄʹÓùý³Ì:


# coding=utf-8
# µ¼ÈëreÄ£¿é
import re

# ʹÓÃmatch·½·¨½øÐÐÆ¥Åä²Ù×÷
result = re.match(ÕýÔò±í´ïʽ, ҪƥÅäµÄ×Ö·û´®)

 
ÎÒÃÇ¿ÉÒÔʹÓÃgroup(num) »ò groups() Æ¥Åä¶ÔÏóº¯ÊýÀ´»ñȡƥÅä±í´ïʽ¡£


Æ¥Åä¶ÔÏó·½·¨ ÃèÊö
group(num=0) Æ¥ÅäµÄÕû¸ö±í´ïʽµÄ×Ö·û´®£¬group() ¿ÉÒÔÒ»´ÎÊäÈë¶à¸ö×éºÅ£¬ÔÚÕâÖÖÇé¿öÏÂËü½«·µ»ØÒ»¸ö°üº¬ÄÇЩ×éËù¶ÔÓ¦ÖµµÄÔª×é¡£
groups() ·µ»ØÒ»¸ö°üº¬ËùÓÐС×é×Ö·û´®µÄÔª×飬´Ó 1 µ½ Ëùº¬µÄС×éºÅ¡£



# coding=utf-8

# µ¼ÈëreÄ£¿é
import re

# ʹÓÃmatch·½·¨½øÐÐÆ¥Åä²Ù×÷
result = re.match(ÕýÔò±í´ïʽ, ҪƥÅäµÄ×Ö·û´®)

# Èç¹ûÉÏÒ»²½Æ¥Åäµ½Êý¾ÝµÄ»°£¬¿ÉÒÔʹÓÃgroup·½·¨À´ÌáÈ¡Êý¾Ý
result.group()


1¡¢re Ä£¿é°¸Àý£º
Æ¥ÅäÒÔitcast¿ªÍ·µÄÓï¾ä


#coding=utf-8

  import re

  result = re.match("itcast","itcast.cn")

  result.group()


ÔËÐнá¹ûΪ£º
itcast

2¡¢re.search

re.match Ö»ÄÜÔÚÆðʼλÖÃÆ¥Å䣬¶øre.search¿ÉÒÔɨÃèÕû¸ö×Ö·û´®²¢·µ»ØµÚÒ»¸ö³É¹¦µÄÆ¥Åä
ÐèÇó£ºÆ¥Åä³öÎÄÕÂÔĶÁµÄ´ÎÊý


#coding=utf-8
import re

ret = re.search(r"\d+", "ÔĶÁ´ÎÊýΪ 9999")
ret.group()


ÔËÐнá¹û£º
'9999'


3¡¢re.findall
re.matchºÍre.searchÁ½¸ö¶¼Ö»ÄÜÕÒµ½Ò»¸öÆ¥Åä½á¹û£¬¶øfindall¿ÉÒÔÕÒµ½ËùÓÐÂú×ãÆ¥ÅäÌõ¼þµÄ½á¹û£¬²¢ÒÔÁбíµÄÐÎʽ·µ»Ø¡£

ÐèÇó£ºÍ³¼Æ³öpython¡¢c¡¢c++ÏàÓ¦ÎÄÕÂÔĶÁµÄ´ÎÊý
 


#coding=utf-8
import re

ret = re.findall(r"\d+", "python = 9999, c = 7890, c++ = 12345")
print(ret)


ÔËÐнá¹û£º
['9999', '7890', '12345']


ÈýÕßÖ®¼äµÄÇø±ð£º

ģʽ Æ¥Åä·½·¨ ·µ»Ø½á¹¹
match Ö»´Ó×Ö·û´®ÆðʼλÖýøÐÐÆ¥Åä None»òÕ߯ðʼλÖÃÆ¥Åä³É¹¦µÄ×Ö·û
search Õû¸ö×Ö·û´®£¬²¢ÇÒ·µ»ØµÚÒ»¸ö·ûºÏÒªÇóµÄÆ¥Åä µÚÒ»¸öÆ¥Åä³É¹¦µÄ×Ö·û´®
findall ·µ»Ø×Ö·û´®Âú×ãÒªÇóµÄËùÓÐµÄÆ¥Åä ËùÓнá¹û£¬²¢ÇÒÒÔÁбíÐÎʽ·µ»Ø


²ÂÄãϲ»¶

pythonÊÇʲô?pythonµÄÓÃ;

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡


¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿