Version 9 (modified by dfaerch, 10 years ago) (diff)

comma limitation

Include and do Regex-replacements


This is a hack upon the Include macro, that adds regular expression replace functionality.

Very usable when you whish to extract data from and/or change data inside an included page.


  • arg 1 : url - Like the Include macro except, local files cannot be included1
  • arg 2 : format. Either "wiki" or "raw", where wiki does WikiFormatting
  • arg 3+: <more to come>
  • arg last:The regular expressions MUST be the last argument

Regular expressions are defined as such:
You can use several expressions, seperated by semicolon:

You can also use capture groups. In python (i learned) these are defined as \1,\2 ect. (where in eg. perl its $1,$2)

  1. 1. Well, they can if the file resides in /tmp/trac_include/ and no slashes are used in filename.

Bugs/Feature Requests

Existing bugs and feature requests for RegexIncludeMacro are here.

If you have any issues, create a new ticket.


Download the zipped source from [download:regexincludemacro here].


You can check out RegexIncludeMacro from here using Subversion, or browse the source with Trac.


A simple example. Replace all occurences of the word &#34;windows&#34; with the word &#34;Linux&#34;


The next example includes and wiki-formats the wanted data, and removes the unwanted. Perticulary, i want to only keep the major version information, not patches nor snapshots.

Note how i use 2 regular expression replaces, seperated by ';'. The first expression formats the lines i want to keep, the second deletes the rest.

[[RegexInclude(,wiki,'The latest ([\w.]+) version [^:]+:\s*([a-z0-9.-]+)',' '''\1''' :: \n  ''\2'' ';'\nThe[ a-zA-Z0-9.:-]+','\n')]]

The result is:



Known limitations

  • expressions or replacement-strings cannot contain ';' (that is: tick-semicolon-tick) since that combination is used for splitting the expressions:
  • expressions or replacement-strings cannot contain ',' (that is: tick-comma-tick) since that combination is used for splitting the expression from replacement-string.

I hope these two combinations are so unlikely, that the limitation wont cause any trouble.

  • url's cannot contain comma. If you need comma, you can URLEncode it. (as such: /file?arg=1,2 = /file?arg=1%2c2)

Recent Changes

1357 by dfaerch on 2006-10-09 11:53:17

Added regex match functionallity + match_seperator

1342 by dfaerch on 2006-10-05 15:38:53

added Control Arguments & wiki-page inclusion

1338 by dfaerch on 2006-10-04 16:16:19

initial release



Author: dfaerch