User:ArrowHead294/Regex snippets: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
ArrowHead294 (talk | contribs)
mNo edit summary
ArrowHead294 (talk | contribs)
mNo edit summary
Line 6: Line 6:
! Replace by
! Replace by
! Purpose
! Purpose
|-
|- 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>
| N/A
| N/A
| Match a number
| Match a number
|-
|-
| <code><nowiki>(?<!(<[Nn][Oo][Ww][Ii][Kk][Ii]>[^\n]*)|\{|\})(?<=\n)\|\s*(?!-|<\/[Nn][Oo][Ww][Ii][Kk][Ii]>|\{|\})</nowiki></code>
| <code><nowiki>(?<!(<[Nn][Oo][Ww][Ii][Kk][Ii]>[^\n]*)|\{|\})(?<=\n)(\||\!)\s*(?!-|<\/[Nn][Oo][Ww][Ii][Kk][Ii]>|\{|\})</nowiki></code>
| <code><nowiki>|&nbsp;</nowiki></code>
| <code><nowiki>\1&nbsp;</nowiki></code>
| Space out pipe characters in tables (one cell per line)*
| Space out pipe characters and header separators in tables (one cell per line)*
|-
| <code><nowiki>(?<!(?:<[Nn][Oo][Ww][Ii][Kk][Ii]>[^\n]*(?=<\/[Nn][Oo][Ww][Ii][Kk][Ii]>)|\{|\}))[^\S\r\n]*(\|\|\|?|!!!?)[^\S\r\n]*(?!-|[^\n]*<\/[Nn][Oo][Ww][Ii][Kk][Ii]>(?=<\/[Nn][Oo][Ww][Ii][Kk][Ii]>)|\{|\})</nowiki></code>
| <code><nowiki>&nbsp;\1&nbsp;</nowiki></code>
| Space out pipe characters and header separators in tables (entire row per line)*
|}
|}
<nowiki />* Requires support for variable-length lookaheads and lookbehinds
<nowiki />* Requires support for variable-length lookaheads and lookbehinds

Revision as of 15:04, 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
(?<!(<[Nn][Oo][Ww][Ii][Kk][Ii]>[^\n]*)|\{|\})(?<=\n)(\||\!)\s*(?!-|<\/[Nn][Oo][Ww][Ii][Kk][Ii]>|\{|\}) \1  Space out pipe characters and header separators in tables (one cell per line)*
(?<!(?:<[Nn][Oo][Ww][Ii][Kk][Ii]>[^\n]*(?=<\/[Nn][Oo][Ww][Ii][Kk][Ii]>)|\{|\}))[^\S\r\n]*(\|\|\|?|!!!?)[^\S\r\n]*(?!-|[^\n]*<\/[Nn][Oo][Ww][Ii][Kk][Ii]>(?=<\/[Nn][Oo][Ww][Ii][Kk][Ii]>)|\{|\})  \1  Space out pipe characters and header separators in tables (entire row per line)*

* Requires support for variable-length lookaheads and lookbehinds