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 3: | Line 3: | ||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
|- | |- | ||
! Pattern | ! style="width: 50%;" | Pattern | ||
! Replace by | ! style="width: 10%;" | Replace by | ||
! Purpose | ! style="width: 20%;" | Purpose | ||
|- style="border-bottom: double; | |- style="border-bottom: double; | ||
| <code><nowiki>^(?:\+|-|\x{2212})?(?:(?:\d{1,3}?(?:\,\d{3})*|\d+)\.?\d*|\d*\.?\d+)(?:[Ee][+-]?\d+)?$</nowiki></code> | | <code><nowiki>^(?:\+|-|\x{2212})?(?:(?:\d{1,3}?(?:\,\d{3})*|\d+)\.?\d*|\d*\.?\d+)(?:[Ee][+-]?\d+)?$</nowiki></code> | ||
| Line 12: | Line 12: | ||
|- | |- | ||
| <code><nowiki>(?<!(<\/\w+>[^\n]*)|\{|\})(?<=\n)(\||!)\s*(?!-|<\/\w+>|\{|\})</nowiki></code> | | <code><nowiki>(?<!(<\/\w+>[^\n]*)|\{|\})(?<=\n)(\||!)\s*(?!-|<\/\w+>|\{|\})</nowiki></code> | ||
| <code><nowiki> | | <code><nowiki>$1 </nowiki></code> | ||
| Space out pipe characters and header separators in tables | | Space out pipe characters and header separators in tables (one cell per line)* | ||
|- | |- | ||
| <code><nowiki>(?<!(?:<\/\w+>[^\n]*(?=<\/\w+>)|\{|\}))[^\S\r\n]*(\|\|\|?|!!!?)[^\S\r\n]*(?!-|[^\n]*<\/\w+>(?=<\/\w+>)|\{|\})</nowiki></code> | | <code><nowiki>(?<!(?:<\/\w+>[^\n]*(?=<\/\w+>)|\{|\}))[^\S\r\n]*(\|\|\|?|!!!?)[^\S\r\n]*(?!-|[^\n]*<\/\w+>(?=<\/\w+>)|\{|\})</nowiki></code> | ||
| <code><nowiki> | | <code><nowiki> $1 </nowiki></code> | ||
| Space out pipe characters and header separators in tables | | Space out pipe characters and header separators in tables (entire row per line)* | ||
|- | |||
| <code><nowiki><math>,*\s*\\frac(\d)(\d),*\s*<\/math></nowiki></code> | |||
| <code><nowiki>{{sfrac|$1|$2}}</nowiki></code> | |||
| Standalone fractions with single-digit numerators and denominators can be done using <code>{{<nowiki />frac}}</code> or <code>{{<nowiki />sfrac}}</code> and don't need to be TeXified | |||
|} | |} | ||
<nowiki />* Requires support for variable-length lookaheads and lookbehinds | <nowiki />* Requires support for variable-length lookaheads and lookbehinds | ||
Revision as of 15:27, 4 December 2024
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 |
(?<!(<\/\w+>[^\n]*)|\{|\})(?<=\n)(\||!)\s*(?!-|<\/\w+>|\{|\})
|
$1
|
Space out pipe characters and header separators in tables (one cell per line)* |
(?<!(?:<\/\w+>[^\n]*(?=<\/\w+>)|\{|\}))[^\S\r\n]*(\|\|\|?|!!!?)[^\S\r\n]*(?!-|[^\n]*<\/\w+>(?=<\/\w+>)|\{|\})
|
$1
|
Space out pipe characters and header separators in tables (entire row per line)* |
<math>,*\s*\\frac(\d)(\d),*\s*<\/math>
|
{{sfrac|$1|$2}}
|
Standalone fractions with single-digit numerators and denominators can be done using {{frac}} or {{sfrac}} and don't need to be TeXified
|
* Requires support for variable-length lookaheads and lookbehinds