Extension:MassEditRegex/en

The MassEditRegex extension allows administrators perform a single edit across multiple pages in one step, by running a regular expression over the content of each page. This is well suited to performing simple edits such as renaming a template, adding pages to a category, or correcting typos (all of which can be done in the same edit operation by supplying multiple regular expressions.)

Usage
Once the extension has been installed and permission  to use MassEditRegex has been given, go to "Special:MassEditRegex" and fill out the edit form. Familiarity with regular expressions is required to use this extension.

Features

 * Page iteration can be done on the client side, so PHP maximum execution time is no longer an issue when editing large numbers of pages.
 * Transform each page using one or more regular expressions in a single step.
 * Edits appear as "bot" so they don't show up in the normal edit list (unless the user chooses to show bot edits).
 * Only users with the  permission can perform changes.
 * A new "edit all" tab appears on category pages and on Special:WhatLinksHere, for editing all listed pages at once.
 * Pages to edit can be specified as:
 * A list of page names
 * A list of page name prefixes (e.g. "Test" will match pages called "Testing" and "Tested")
 * A list of categories (all pages within the categories will be edited)
 * A list of backlinks (pages edited are those linking to the ones in the list)

Configuration
This extension comes with an extra user right called " " to allow fine grained control of which user groups may use this extension. By default it is assigned to no user group. In case you would like to assign it to a user group e.g. " ", add the following code to you " " file right after the lines added in step (3) of the installation process:

Alternatively you may grant the permission to an existing user group, e.g. " " by adding the following line:

Server-side execution is the default as it (should) be faster.
However editing large numbers of pages will cause server timeouts due to PHP limits on script execution time. To work around this (and perhaps to get better feedback on progress) you can tick "execute in browser" to have the job tracking done on the client-side. This should mean timeouts are no longer a problem.

page not found
In (at least) MediaWiki 1.31 and later, when the regex you provide is invalid, it will falsely indicate that all of the pages you selected for replacement are not found.

Replacement in certain namespaces
If you would like to replace text only in certain namespaces, e.g. "File" and enter this with the page prefix option you will get the following note: "Error: The MediaWiki API returned the error code invalidtitle: Bad title "File:"."