Directives are extension blocks that provides certain functionality into document. A distinctive difference with roles is that the latter are in-line definitions.
RST document with directive: .. directivename:: optional argument :option1: opt value1 :option2: content
Regular expression: a specific textual syntax used to match with the string. Powerful but somewhat complicated.
In-line extensions. Usually used for defining part of the content:
Some text containing :rolename:`target-name` as well as other kind of :rolename:`targets <target-name>`
Copy the :file:`app.conf` to :directory:`/etc/`