Regular expressions: Difference between revisions
Content added Content deleted
Line 547: | Line 547: | ||
=={{header|Emacs Lisp}}== |
=={{header|Emacs Lisp}}== |
||
<lang Emacs Lisp> |
<lang Emacs Lisp> |
||
(defun match ( |
(defun match (word str) |
||
( |
(setq pos (string-match word str) ) |
||
(if pos |
|||
(progn |
|||
⚫ | |||
(insert (format "%s found at position %d in: %s\n" word pos str) ) |
|||
(setq regex (format "^.+%s" word) ) |
|||
(setq str (replace-regexp-in-string regex (format "left %s" word) str) ) |
|||
(setq regex (format "%s.+$" word) ) |
|||
(setq str (replace-regexp-in-string regex (format "%s right" word) str) ) |
|||
(insert (format "result: %s\n" str) )) |
|||
⚫ | |||
(setq str1 "before center after" str2 "before centre after") |
(setq str1 "before center after" str2 "before centre after") |
||
(progn |
(progn |
||
(match |
(match "center" str1) |
||
( |
(insert "\n") |
||
(match "center" str2) ) |
|||
</lang> |
</lang> |
||
<b>Output:</b> |
<b>Output:</b> |
||
<pre> |
<pre> |
||
center found in: before center after |
center found at position 7 in: before center after |
||
result: left center right |
result: left center right |
||
center not found in: before centre after |
center not found in: before centre after |
||
</pre> |
</pre> |