Next: , Previous: Replacing Match, Up: Match Data   [Contents][Index]


33.6.2 ¥Þ¥Ã¥Á¥Ç¡¼¥¿¤Î´Êñ¤Ê»²¾È

ËÜÀá¤Ç¤Ï¡¢ºÇ¸å¤Îõº÷¤ä°ìÃ×Áàºî¤Ë¤ª¤¤¤Æ ¤Ê¤Ë¤Ë°ìÃפ·¤¿¤Î¤«¤òÄ´¤Ù¤ë¤¿¤á¤Î¥Þ¥Ã¥Á¥Ç¡¼¥¿¤Î»È¤¤Êý¤òÀâÌÀ¤·¤Þ¤¹¡£

°ìÃפ·¤¿¥Æ¥­¥¹¥ÈÁ´ÂΤäÀµµ¬É½¸½¤Î³ç¸Ì¤Ç³ç¤Ã¤¿ÆÃÄê¤ÎÉôʬ¼°¤Ë°ìÃפ·¤¿ ¥Æ¥­¥¹¥È¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ °Ê²¼¤Î´Ø¿ô¤Î°ú¿ôcount¤Ç¤É¤ì¤«¤ò»ØÄꤷ¤Þ¤¹¡£ count¤¬¥¼¥í¤Ç¤¢¤ì¤Ð¡¢°ìÃ×Á´ÂΤòÄ´¤Ù¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ count¤¬Àµ¤Ç¤¢¤ì¤Ð¡¢Ë¾¤ß¤ÎÉôʬ¼°¤ò»ØÄꤷ¤Þ¤¹¡£

Àµµ¬É½¸½¤ÎÉôʬ¼°¤Ï¡¢¥¨¥¹¥±¡¼¥×¤·¤¿³ç¸Ì‘\(…\)’¤Ç¥°¥ë¡¼¥×²½¤·¤¿ ¼°¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ countÈÖÌܤÎÉôʬ¼°¤Ï¡¢Àµµ¬É½¸½Á´ÂΤÎÀèÆ¬¤«¤é ‘\(’¤Î½Ð¸½¤ò¿ô¤¨¤Æ¤ß¤Ä¤±¤Þ¤¹¡£ ºÇ½é¤ÎÉôʬ¼°¤Ï1¡¢¤Ä¤®¤Ï2¡¢¤È¤¤¤Ã¤¿¶ñ¹ç¤Ç¤¹¡£ Éôʬ¼°¤ÏÀµµ¬É½¸½¤À¤±¤Ë¤¢¤ê¤Þ¤¹¡£ ñ½ã¤Êʸ»úÎóõº÷¤Î¤¢¤È¤Ç¤Ï¡¢ÍøÍѲÄǽ¤Ê¾ðÊó¤Ï°ìÃ×Á´ÂΤ˴ؤ¹¤ë¤â¤Î¤À¤±¤Ç¤¹¡£

õº÷¤Ë¼ºÇÔ¤¹¤ë¤È¡¢¥Þ¥Ã¥Á¥Ç¡¼¥¿¤òÊѹ¹¤¹¤ë¤³¤È¤â¤·¤Ê¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ²áµî¤Ë¤Ïõº÷¤Ë¼ºÇÔ¤·¤Æ¤âÊѹ¹¤·¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ ¾­Í褽¤¦¤Ê¤ê¤Þ¤¹¡£

Function: match-string count &optional in-string

¤³¤Î´Ø¿ô¤Ï¡¢ºÇ¸å¤Îõº÷¤ä°ìÃ×Áàºî¤Ç°ìÃפ·¤¿¥Æ¥­¥¹¥È¤òʸ»úÎó¤È¤·¤ÆÊÖ¤¹¡£ count¤¬¥¼¥í¤Ç¤¢¤ë¤È¥Æ¥­¥¹¥ÈÁ´ÂΤòÊÖ¤¹¡£ count¤¬Àµ¤Ç¤¢¤ì¤Ð¡¢countÈÖÌܤγç¸Ì¤Ç°Ï¤ó¤ÀÉôʬ¼°¤ËÂбþ¤¹¤ë Éôʬ¤Î¤ß¤òÊÖ¤¹¡£ count¤¬ÈϰϤò±Û¤¨¤Æ¤¤¤¿¤ê¡¢Åö³ºÉôʬ¼°¤Ë°ìÃפ¹¤ë¤â¤Î¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ ÃͤÏnil¤Ç¤¢¤ë¡£

ºÇ¸å¤Îõº÷¤ä°ìÃ×Áàºî¤òstring-match¤Çʸ»úÎó¤ËÂФ·¤Æ¹Ô¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ °ú¿ôin-string¤È¤·¤ÆÆ±¤¸Ê¸»úÎó¤òÅϤ¹¤³¤È¡£ ¥Ð¥Ã¥Õ¥¡¤Îõº÷¤ä°ìÃפΤ¢¤È¤Ç¤Ï¡¢in-string¤ò¾Êά¤¹¤ë¤« nil¤òÅϤ¹¤³¤È¡£ ¤¿¤À¤·¡¢match-string¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Î¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤¬ õº÷¤ò¹Ô¤Ã¤¿¤È¤­¤Î¥Ð¥Ã¥Õ¥¡¤Ç¤¢¤ë¤³¤È¡£

Function: match-string-no-properties count

¤³¤Î´Ø¿ô¤Ïmatch-string¤ÈƱÍͤǤ¢¤ë¤¬¡¢ ·ë²Ì¤Ë¤Ï¥Æ¥­¥¹¥È°À­¤ò´Þ¤Þ¤Ê¤¤¡£

Function: match-beginning count

¤³¤Î´Ø¿ô¤Ï¡¢ºÇ¸å¤ÎÀµµ¬É½¸½Ãµº÷¤ä¤½¤ÎÉôʬ¼°¤Ë°ìÃפ·¤¿¥Æ¥­¥¹¥È¤Î³«»Ï°ÌÃÖ¤òÊÖ¤¹¡£

count¤¬¥¼¥í¤Ç¤¢¤ë¤È¡¢ÃͤϰìÃ×Á´ÂΤγ«»Ï°ÌÃ֤Ǥ¢¤ë¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢count¤ÏÀµµ¬É½¸½Æâ¤ÎÉôʬ¼°¤ò»ØÄꤷ¡¢ ´Ø¿ô¤ÎÃͤÏÅö³ºÉôʬ¼°¤Ë°ìÃפ·¤¿Éôʬ¤Î³«»Ï°ÌÃ֤Ǥ¢¤ë¡£

°ìÃפËÍøÍѤµ¤ì¤Ê¤«¤Ã¤¿ÁªÂò»è‘\|’Æâ¤ÎÉôʬ¼°¤ËÂФ·¤Æ¤Ï¡¢ ÃͤÏnil¤Ç¤¢¤ë¡£

Function: match-end count

¤³¤Î´Ø¿ô¤Ïmatch-beginning¤ÈƱÍͤǤ¢¤ë¤¬¡¢ °ìÃײսê¤Î³«»Ï°ÌÃ֤ǤϤʤ¯½ªÎ»°ÌÃÖ¤òÊÖ¤¹ÅÀ¤¬°Û¤Ê¤ë¡£

¥³¥á¥ó¥È¤Ç¥Æ¥­¥¹¥ÈÆâ¤Î°ÌÃÖ¤ò¼¨¤·¤Ê¤¬¤é ¥Þ¥Ã¥Á¥Ç¡¼¥¿¤ÎÍøÍÑÎã¤ò¼¨¤·¤Þ¤¹¡£

(string-match "\\(qu\\)\\(ick\\)"
              "The quick fox jumped quickly.")
              ;0123456789      
     ⇒ 4
(match-string 0 "The quick fox jumped quickly.")
     ⇒ "quick"
(match-string 1 "The quick fox jumped quickly.")
     ⇒ "qu"
(match-string 2 "The quick fox jumped quickly.")
     ⇒ "ick"
(match-beginning 1)       ; °ìÃײսê‘qu’¤ÎÀèÆ¬¤Ï
     ⇒ 4                 ;   ź»ú4
(match-beginning 2)       ; °ìÃײսê‘ick’¤ÎÀèÆ¬¤Ï
     ⇒ 6                 ;   ź»ú6
(match-end 1)             ; °ìÃײսê‘qu’¤ÎËöÈø¤Ï
     ⇒ 6                 ;   ź»ú6

(match-end 2)             ; °ìÃײսê‘ick’¤ÎËöÈø¤Ï
     ⇒ 9                 ;   ź»ú9

Ê̤ÎÎã¤â¼¨¤·¤Þ¤¹¡£ ¥Ý¥¤¥ó¥È¤Ï»Ï¤á¤Ï¹ÔƬ¤Ë¤¢¤ê¤Þ¤¹¡£ õº÷¤Ë¤è¤Ã¤Æ¡¢¥Ý¥¤¥ó¥È¤Ï¶õÇò¤Èñ¸ì‘in’¤Î¤¢¤¤¤À¤Ë°Üư¤·¤Þ¤¹¡£ °ìÃײսêÁ´ÂΤÎÀèÆ¬¤Ï¥Ð¥Ã¥Õ¥¡¤Î9ÈÖÌܤÎʸ»ú¡Ê‘T’¡Ë¤Ç¤¢¤ê¡¢ ºÇ½é¤ÎÉôʬ¼°¤Î°ìÃײսê¤ÎÀèÆ¬¤Ï13ÈÖÌܤÎʸ»ú¡Ê‘c’¡Ë¤Ç¤¹¡£

(list
  (re-search-forward "The \\(cat \\)")
  (match-beginning 0)
  (match-beginning 1))
    ⇒ (9 9 13)
---------- Buffer: foo ----------
I read "The cat ∗in the hat comes back" twice.
        ^   ^
        9  13
---------- Buffer: foo ----------

¡Ê¤³¤ÎÎã¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤ëź»ú¤Ï¥Ð¥Ã¥Õ¥¡Æâ°ÌÃ֤Ǥ¢¤ê¡¢ ¥Ð¥Ã¥Õ¥¡¤ÎºÇ½é¤Îʸ»ú¤ò1¤È¿ô¤¨¤ë¡£¡Ë