Next: POSIX Regexps, Previous: Regular Expressions, Up: Searching and Matching [Contents][Index]
GNU Emacs¤Ç¤Ï¡¢Àµµ¬É½¸½¤Ë°ìÃפ¹¤ë¤Ä¤®¤ÎÉôʬ¤ò
¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤Ë¤â¤½¤¦¤Ç¤Ê¤¯¤âõ¤»¤Þ¤¹¡£
¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥µ¡¼¥Á¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢
Àµµ¬É½¸½Ãµº÷ in GNU Emacs ¥Þ¥Ë¥å¥¢¥ë¤ò
»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤³¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤ÇÍÍѤÊõº÷´Ø¿ô¤Î¤ß¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£
´ðËÜŪ¤Ê¤â¤Î¤Ïre-search-forward
¤Ç¤¹¡£
¤³¤ì¤é¤Îõº÷´Ø¿ô¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤¬¥Þ¥ë¥Á¥Ð¥¤¥È¤Ç¤¢¤ì¤Ð Àµµ¬É½¸½¤ò¥Þ¥ë¥Á¥Ð¥¤¥È¤ËÊÑ´¹¤·¤Þ¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤¬¥æ¥Ë¥Ð¥¤¥È¤Ç¤¢¤ì¤Ð¡¢Àµµ¬É½¸½¤ò¥æ¥Ë¥Ð¥¤¥È¤ËÊÑ´¹¤·¤Þ¤¹¡£ See Text Representations¡£
¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤ÆÁ°Êý¤Ø¸þ¤±¤Æ Àµµ¬É½¸½regexp¤Ë°ìÃפ¹¤ë¥Æ¥¥¹¥È¤Îʸ»úÎó¤òõº÷¤¹¤ë¡£ ´Ø¿ô¤Ïregexp¤Ë°ìÃפ·¤Ê¤¤¥Æ¥¥¹¥È¤Ï¤¹¤Ù¤ÆÈô¤Ó±Û¤¨¡¢ ¤ß¤Ä¤±¤¿°ìÃײսê¤ÎËöÈø¤Ø¥Ý¥¤¥ó¥È¤òÃÖ¤¯¡£ ¥Ý¥¤¥ó¥È¤Î¿·¤¿¤ÊÃͤòÊÖ¤¹¡£
limit¤¬nil
°Ê³°¡Ê¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡Æâ¤Î°ÌÃ֤Ǥ¢¤ë¤³¤È¡Ë¤Ç¤¢¤ë¤È¡¢
õº÷¤Î¾å¸Â¤òɽ¤¹¡£
¤½¤Î°ÌÃÖ¤ò±Û¤¨¤ë²Õ½ê¤Ç¤Î°ìÃפϼõ¤±Æþ¤ì¤Ê¤¤¡£
repeat¤ò»ØÄꤷ¤Æ¤¢¤ë¤È¡ÊÀµ¤Î¿ô¤Ç¤¢¤ë¤³¤È¡Ë¡¢ ¤½¤Î²ó¿ô¤À¤±Ãµº÷¤ò·«¤êÊÖ¤¹¡Ê°ìÃײսê¤ÎËöÈø¤ò¿·¤¿¤Êõº÷¤Î³«»Ï°ÌÃ֤Ȥ¹¤ë¡Ë¡£ Ϣ³¤·¤Æ¤³¤ì¤é¤Îõº÷¤ËÀ®¸ù¤¹¤ë¤È´Ø¿ô¤ÏÀ®¸ù¤·¡¢ ¥Ý¥¤¥ó¥È¤ò°Üư¤·¤Æ¤½¤Î¿·¤¿¤ÊÃͤòÊÖ¤¹¡£ ¤µ¤â¤Ê¤±¤ì¤Ðõº÷¤Ï¼ºÇԤǤ¢¤ë¡£
´Ø¿ô¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Îưºî¤Ï¡¢noerror¤ÎÃͤ˰͸¤¹¤ë¡£
noerror¤¬nil
¤Ç¤¢¤ë¤È¡¢
¥¨¥é¡¼search-failed
¤òÄÌÃΤ¹¤ë¡£
noerror¤¬t
¤Ç¤¢¤ë¤È¡¢
re-search-forward
¤Ï¤Ê¤Ë¤â¤»¤º¤Ënil
¤òÊÖ¤¹¡£
noerror¤¬nil
¤Ç¤ât
¤Ç¤â¤Ê¤¤¤È¡¢
re-search-forward
¤Ï¥Ý¥¤¥ó¥È¤òlimit¡Ê¤¢¤ë¤¤¤Ï¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¡Ë¤Ø
°Üư¤·¤Ænil
¤òÊÖ¤¹¡£
¤Ä¤®¤ÎÎã¤Ç¤Ï¡¢¥Ý¥¤¥ó¥È¤Ï»Ï¤á¤Ï‘T’¤Î¤Þ¤¨¤Ë¤¢¤ë¡£ õº÷¤ò¸Æ¤Ó½Ð¤¹¤È¡¢¥Ý¥¤¥ó¥È¤ÏÅö³º¹Ô¤ÎËöÈø ¡Ê‘hat’¤Î‘t’¤È²þ¹Ô¤Î¤¢¤¤¤À¡Ë¤Ø°Üư¤¹¤ë¡£
---------- Buffer: foo ---------- I read "∗The cat in the hat comes back" twice. ---------- Buffer: foo ----------
(re-search-forward "[a-z]+" nil t 5) ⇒ 27 ---------- Buffer: foo ---------- I read "The cat in the hat∗ comes back" twice. ---------- Buffer: foo ----------
¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¸åÊý¤Ø¸þ¤±¤Æ Àµµ¬É½¸½regexp¤Ë°ìÃפ¹¤ë¥Æ¥¥¹¥È¤Îʸ»úÎó¤òõº÷¤·¡¢ ¤ß¤Ä¤±¤¿°ìÃײսê¤ÎÀèÆ¬¤Ø¥Ý¥¤¥ó¥È¤òÃÖ¤¯¡£
¤³¤Î´Ø¿ô¤Ïre-search-forward
¤ËÎà»÷¤·¤¿¤â¤Î¤Ç¤¢¤ë¤¬¡¢
ñ½ã¤Ê¶ÀÁü¤Ç¤Ï¤Ê¤¤¡£
re-search-forward
¤Ï¡¢°ìÃײսê¤ÎÀèÆ¬¤¬
³«»Ï°ÌÃ֤˲Äǽ¤Ê¸Â¤ê¶á¤¤°ìÃײսê¤òõ¤¹¡£
re-search-backward
¤¬´°Á´¤Ê¶ÀÁü¤Ç¤¢¤ì¤Ð¡¢
°ìÃײսê¤ÎËöÈø¤¬²Äǽ¤Ê¸Â¤ê¶á¤¤°ìÃײսê¤òõ¤¹¡£
¤·¤«¤·¡¢¼ÂºÝ¤Ë¤Ï¡¢°ìÃײսê¤ÎÀèÆ¬¤¬²Äǽ¤Ê¸Â¤ê¶á¤¤°ìÃײսê¤òõ¤¹¡£
¤³¤ì¤Ï¡¢Àµµ¬É½¸½¤È¤Î°ìÃפò¤È¤ë½èÍý¤Ï¡¢
»ØÄ곫»Ï°ÌÃ֤ˤª¤¤¤ÆÀèÆ¬¤«¤éËöÈø¤Ø¸þ¤±¤Æ¤Ä¤Í¤Ë¹Ô¤ï¤ì¤ë¤«¤é¤Ç¤¢¤ë¡£
re-search-forward
¤Î´°Á´¤Ê¶ÀÁü¤Ë¤Ï¡¢
Àµµ¬É½¸½¤Î°ìÃפòËöÈø¤«¤éÀèÆ¬¤Ø¸þ¤±¤Æ¹Ô¤¦ÆÃÊ̤ʵ¡Ç½¤¬É¬ÍפǤ¢¤ë¡£
¤½¤ì¤ò¼ÂÁõ¤¹¤ë¼ê´Ö¤ò¤«¤±¤ë¤Û¤É¤Î²ÁÃͤϤʤ¤¡£
¤³¤Î´Ø¿ô¤Ï¡¢Ê¸»úÎóstring¤Ë¤ª¤¤¤ÆÀµµ¬É½¸½regexp¤Ë°ìÃפ·¤¿
ºÇ½é¤Î²Õ½ê¤Îź»ú¤òÊÖ¤¹¡£
¤¢¤ë¤¤¤Ï¡¢°ìÃפ¬¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
start¤¬nil
°Ê³°¤Ç¤¢¤ë¤È¡¢
string¤Î»ØÄꤷ¤¿Åº»ú¤«¤éõº÷¤ò»Ï¤á¤ë¡£
¤¿¤È¤¨¤Ð¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£
(string-match "quick" "The quick brown fox jumped quickly.") ⇒ 4
(string-match "quick" "The quick brown fox jumped quickly." 8) ⇒ 27
ʸ»úÎó¤ÎºÇ½é¤Îʸ»ú¤Îź»ú¤Ï0¤Ç¤¢¤ê¡¢ 2ÈÖÌܤÎʸ»ú¤Îź»ú¤Ï1¤Ç¤¢¤ë¤È¤¤¤Ã¤¿¶ñ¹ç¤Ë¤Ê¤ë¡£
¤³¤Î´Ø¿ô¤«¤éÌá¤Ã¤¿¤¢¤È¤Ç¤Ï¡¢
°ìÃײսê¤ò±Û¤¨¤¿ºÇ½é¤Îʸ»ú¤Îź»ú¤Ï(match-end 0)
¤ÇÆÀ¤é¤ì¤ë¡£
see Match Data¡£
(string-match "quick" "The quick brown fox jumped quickly." 8) ⇒ 27
(match-end 0) ⇒ 32
¤³¤Î´Ø¿ô¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡Æâ¤Î¥Ý¥¤¥ó¥È¤Îľ¸å¤Î¥Æ¥¥¹¥È¤¬
Àµµ¬É½¸½regexp¤Ë°ìÃפ¹¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£
¤³¤³¤Ç¡ØÄ¾¸å¡Ù¤È¤Ï¡¢³«»Ï°ÌÃ֤ϸÇÄꤵ¤ì¤Æ¤¤¤Æ¡¢
¥Ý¥¤¥ó¥È¤Î¤¦¤·¤í¤ÎºÇ½é¤Îʸ»ú¤Ç»Ï¤Þ¤ë¾ì¹ç¤Ë¤Î¤ßõº÷¤ÏÀ®¸ù¤¹¤ë¡£
·ë²Ì¤Ï¡¢°ìÃפ¹¤ì¤Ðt
¤Ç¤¢¤ê¡¢¤µ¤â¤Ê¤±¤ì¤Ðnil
¤Ç¤¢¤ë¡£
¤³¤Î´Ø¿ô¤Ï¥Ý¥¤¥ó¥È¤ò°Üư¤·¤Ê¤¤¤¬¡¢¥Þ¥Ã¥Á¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë¡£
match-beginning
¤ämatch-end
¤ò»È¤Ã¤Æ¥Þ¥Ã¥Á¥Ç¡¼¥¿¤ò»²¾È¤Ç¤¤ë¡£
¤Ä¤®¤ÎÎã¤Ç¤Ï¡¢¥Ý¥¤¥ó¥È¤Ï‘T’¤ÎľÁ°¤Ë¤¢¤ë¡£
¥Ý¥¤¥ó¥È¤¬¤³¤ì°Ê³°¤Î¾ì½ê¤Ë¤¢¤ë¤È·ë²Ì¤Ïnil
¤Ë¤Ê¤ë¡£
---------- Buffer: foo ---------- I read "∗The cat in the hat comes back" twice. ---------- Buffer: foo ---------- (looking-at "The cat in the hat$") ⇒ t