User:ArrowHead294/Regex snippets: Difference between revisions
Jump to navigation
Jump to search
ArrowHead294 (talk | contribs) mNo edit summary |
ArrowHead294 (talk | contribs) mNo edit summary |
||
Line 36: | Line 36: | ||
|- | |- | ||
| <code><nowiki>(class|colspan|rowspan|id|scope|style)="?(.*?)"?[^\S\r\n]*((?:\||!){1,3})[^\S\r\n]*(.*?)(?=\n)</nowiki></code> | | <code><nowiki>(class|colspan|rowspan|id|scope|style)="?(.*?)"?[^\S\r\n]*((?:\||!){1,3})[^\S\r\n]*(.*?)(?=\n)</nowiki></code> | ||
| <code>$1="$2" $3 $4</code> | |||
| rowspan="3" | Space out inline cell separators* | | rowspan="3" | Space out inline cell separators* | ||
|- | |- | ||
| <code><nowiki>(?<!\n|\{)[^\S\r\n]*(?<!\[\[:?\w+:.*?)((?:\||!){1,3})[^\S\r\n]*(.*?)(?=\n)</nowiki></code> | | <code><nowiki>(?<!\n|\{)[^\S\r\n]*(?<!\[\[:?\w+:.*?)((?:\||!){1,3})[^\S\r\n]*(.*?)(?=\n)</nowiki></code> | ||
| <code> $1 </code> | |||
|- | |- | ||
| <code><nowiki>(?<=(?:\{\{|\[\[).*?)\s+(\|)\s+</nowiki></code> | | <code><nowiki>(?<=(?:\{\{|\[\[).*?)\s+(\|)\s+</nowiki></code> |
Revision as of 15:04, 27 February 2025
These are some regular expressions I use for formatting purposes:
Pattern | Replace by | Purpose |
---|---|---|
^(?:\+|-|\x{2212})?(?:(?:\d{1,3}(?:\,\d{3})*|\d+)\.?\d*|\d*\.?\d+)(?:[Ee][+-]?\d+)?$
|
N/A | Match a number |
(?<=\n)(=+)\s*([^\|\{\}\r\n=]*?)\s*(=+)(?=\n) or (?<=\n)(\=+)\s*([^\|\{\}\r\n\=]*?)\s*(\=+)(?=\n)
|
$1 $2 $3
|
Space out equals signs for section headers* |
(?<=\n)(\|\+?|!)[^\S\r\n]*\|?[^\S\r\n]*(?!-|\}|\+)
|
$1
|
Space out pipe characters and header separators in tables (one cell per line) Replace ! | with ! and | | with |
|
(?<=\{\|.*?\n(?:\|\+.*?\n)?)(?<!\|-\n)(\||!)
|
|-\n$1
|
Insert table cell separator at top of table before first headers |
(?<=(?:\||!).*?)(?<!-)\n+(?!\||!)
|
<br />
|
Replace linebreaks in cells with <br />
|
(\d+[Ll])\s*(\d+[Ss])
|
$1 $2
|
Make sure xL ys is non-wrapped |
(\d+[Ll])\s*(\d+[Mm])\s*(\d+[Ss])
|
$1 $2 $3
| |
(class|colspan|rowspan|id|scope|style)="?(.*?)"?[^\S\r\n]*((?:\||!){1,3})[^\S\r\n]*(.*?)(?=\n)
|
$1="$2" $3 $4
|
Space out inline cell separators* |
(?<!\n|\{)[^\S\r\n]*(?<!\[\[:?\w+:.*?)((?:\||!){1,3})[^\S\r\n]*(.*?)(?=\n)
|
$1
| |
(?<=(?:\{\{|\[\[).*?)\s+(\|)\s+
|
|
| |
(?<=\n)((?:\*|:)+)\s*
|
$1
|
Space out asterisks, number signs, and colons for lists |
(?<=\{\|.*?\n(?:\|\+.*?\n)?)(\||!)(?!-|\}|\+)
|
|-\n$1
|
Add in |- before first row after caption (not strictlynecessary, but including it is good practice) |
<math>,*\s*\\frac(\d)(\d),*\s*<\/math>
|
{{frac|$1|$2}} or{{sfrac|$1|$2}}
|
Standalone fractions with single-digit numerators and denominators don't need to be TeXified |
* Requires support for variable-width lookaheads and lookbehinds