Help:Regular expressions
From Nookipedia, the Animal Crossing wiki
Aregular expression (regex) is a sequence of characters defining a search pattern. On the wiki, they are commonly used for finding and replacing text throughSpecial:ReplaceText (staff only),AutoWikiBrowser,Pywikibot, or Scribunto/Lua modules.
Each tool/programming language uses its own ruleset for regular expressions:
- Special:ReplaceText supports a small subset (
( ) . * + ? [ ]) of the PHP and MySQL/PostgreSQL regular-expression set. - AutoWikiBrowser uses.NET regular expressions.
- Pywikibot usesPython regular expressions.
- Lua/Scribunto pattern are similar to regular expressions, but not identical. Seethis page for a list of differences.
If you need help with regular expressions, you may post onthe talk page, or join the NookipediaDiscord and ask in the #wiki-tech channel.
Testing[edit]
There are several online tools to test our patterns. A small selection is listed below.
Examples[edit]
Below is a list of examples of regular expressions that may help you on the wiki. Feel free to expand this list.
- Replacing instances of
{{I|Item Name}}with{{I|Item Name|New Horizons}}(Python):
- Find:
{{I\|(?!.*\|)(.*?)}} - Replace:
{{I|\1|New Horizons}}
- Matching a multi-line Foreignname template and adding a new "See also" section after it (Python):
- Find:
{{Foreignname([\s\S]*?\n}}) - Replace:
{{Foreignname\1\n\n==See also==
- Add
f#-imgparameters after eachfurn#parameter in instances of house templates; the template takes in the furniture name as a parameter and returns a filename (AWB):
- Find:
\|furn([1-9]\d?)= (.*) - Replace:
|furn$1= $2\n|f$1-img= {{subst:Example|$2}}
- Prepend an
htmlselector to every CSS property in a stylesheet (source on StackOverflow byRyan Worth):
- Find:
(^(?:\s|[^@{])*?|[},]\s*)(\/\/.*\s+|.*\/\*[^*]*\*\/\s*|@media.*{\s*|@font-face.*{\s*)*([.#]?-?[_a-zA-Z]+[_a-zA-Z0-9-]*)(?=[^}]*{) - Replace:
$1$2html $3
| Nookipedia | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||

