diff --git a/404.html b/404.html index a126cd1..f39320a 100644 --- a/404.html +++ b/404.html @@ -1,6 +1,6 @@ -404 Page not found - Pomsky
- \ No newline at end of file + \ No newline at end of file diff --git a/docs/examples/index.xml b/docs/examples/index.xml index c3f7ad2..cc49484 100644 --- a/docs/examples/index.xml +++ b/docs/examples/index.xml @@ -1,15 +1,15 @@ -Examples onhttps://next.pomsky-lang.org/docs/examples/Recent content in Examples onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Example: Numbershttps://next.pomsky-lang.org/docs/examples/numbers/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/examples/numbers/This regular expression matches rational numbers in decimal notation with optional separating commas: +Examples on/docs/examples/Recent content in Examples onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Example: Numbers/docs/examples/numbers/Tue, 17 May 2022 13:55:00 +0000/docs/examples/numbers/This regular expression matches rational numbers in decimal notation with optional separating commas: [-+]??\b(?:0|[1-9](?:,??[0-9])*)(?:\.[0-9]+)?\b Equivalent Pomsky expression: -['-+']? % ('0' | ['1'-'9'] (','? ['0'-'9'])*) ('.' ['0'-'9']+)? %Example: Passwordshttps://next.pomsky-lang.org/docs/examples/passwords/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/examples/passwords/Here’s a regular expression that tests if a string contains at least one uppercase letter, lowercase letter, digit and punctuation/symbol code point, and is at least 8 code points long: +['-+']? % ('0' | ['1'-'9'] (','? ['0'-'9'])*) ('.' ['0'-'9']+)? %Example: Passwords/docs/examples/passwords/Tue, 17 May 2022 13:55:00 +0000/docs/examples/passwords/Here’s a regular expression that tests if a string contains at least one uppercase letter, lowercase letter, digit and punctuation/symbol code point, and is at least 8 code points long: ^(?=[\S\s]*?\d)(?=[\S\s]*?\p{Ll})(?=[\S\s]*?\p{Lu})(?=[\S\s]*?[\pP\pS])[\S\s]{8} Equivalent Pomsky expression: -^ (>> C* [digit]) (>> C* [Ll]) (>> C* [Lu]) (>> C* [P S]) C{8}Example: Java Identifiershttps://next.pomsky-lang.org/docs/examples/java-idents/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/examples/java-idents/Regex matching a Java identifier: +^ (>> C* [digit]) (>> C* [Ll]) (>> C* [Lu]) (>> C* [P S]) C{8}Example: Java Identifiers/docs/examples/java-idents/Tue, 17 May 2022 13:55:00 +0000/docs/examples/java-idents/Regex matching a Java identifier: [\p{Connector_Punctuation}\p{Currency_Symbol}\p{Mark}\p{Alphabetic}][\p{Connector_Punctuation}\p{Currency_Symbol}\p{Mark}\p{Alphabetic}\p{Numeric}]* With abbreviations: [\p{Pc}\p{Sc}\p{M}\p{Alpha}][\p{Pc}\p{Sc}\p{M}\p{Alpha}\p{Numeric}]* And as a Pomsky: -[Pc Sc M Alpha] [Pc Sc M Alpha Numeric]*Example: Email Addresseshttps://next.pomsky-lang.org/docs/examples/emails/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/examples/emails/This StackOverflow answer contains a massive regular expression for matching any RFC 5322 compliant email address: +[Pc Sc M Alpha] [Pc Sc M Alpha Numeric]*Example: Email Addresses/docs/examples/emails/Tue, 17 May 2022 13:55:00 +0000/docs/examples/emails/This StackOverflow answer contains a massive regular expression for matching any RFC 5322 compliant email address: (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]) If your regex engine supports insiginificant whitespace mode (?x), it can be written like this: -(?x) (?: [a-z0-9!#$%&'*+/=?^_`{|}~-]+ (?: \. [a-z0-9!#$%&'*+/=?^_`{|}~-]+ )* | " (?: [\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f] | \\ [\x01-\x09\x0b\x0c\x0e-\x7f] )* " ) @ (?: (?: [a-z0-9] (?: [a-z0-9-]* [a-z0-9] )? \. )+ [a-z0-9] (?: [a-z0-9-]* [a-z0-9] )? | \[ (?: (?: (2 (5 [0-5] | [0-4] [0-9]) | 1 [0-9] [0-9] | [1-9]?Example: IP addresseshttps://next.pomsky-lang.org/docs/examples/ip-addresses/Sat, 10 Sep 2022 18:16:11 +0000https://next.pomsky-lang.org/docs/examples/ip-addresses/Here’s a regular expression that checks if a string is a valid IPv4 or IPv6 address: +(?x) (?: [a-z0-9!#$%&'*+/=?^_`{|}~-]+ (?: \. [a-z0-9!#$%&'*+/=?^_`{|}~-]+ )* | " (?: [\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f] | \\ [\x01-\x09\x0b\x0c\x0e-\x7f] )* " ) @ (?: (?: [a-z0-9] (?: [a-z0-9-]* [a-z0-9] )? \. )+ [a-z0-9] (?: [a-z0-9-]* [a-z0-9] )? | \[ (?: (?: (2 (5 [0-5] | [0-4] [0-9]) | 1 [0-9] [0-9] | [1-9]?Example: IP addresses/docs/examples/ip-addresses/Sat, 10 Sep 2022 18:16:11 +0000/docs/examples/ip-addresses/Here’s a regular expression that checks if a string is a valid IPv4 or IPv6 address: ^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(:[0-9a-fA-F]{1,4}){1,6}|:(:[0-9a-fA-F]{1,4}){1,7}|::|fe80:(:[0-9a-fA-F]{1,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))$ Here’s the same regexp in free-spacing mode with some comments added: -(?x) ^( ( [0-9a-fA-F]{1,4} : ){7} [0-9a-fA-F]{1,4} | ( [0-9a-fA-F]{1,4} : ){1,7} : | ( [0-9a-fA-F]{1,4} : ){1,6} : [0-9a-fA-F]{1,4} | ( [0-9a-fA-F]{1,4} : ){1,5} ( : [0-9a-fA-F]{1,4} ){1,2} | ( [0-9a-fA-F]{1,4} : ){1,4} ( : [0-9a-fA-F]{1,4} ){1,3} | ( [0-9a-fA-F]{1,4} : ){1,3} ( : [0-9a-fA-F]{1,4} ){1,4} | ( [0-9a-fA-F]{1,4} : ){1,2} ( : [0-9a-fA-F]{1,4} ){1,5} | [0-9a-fA-F]{1,4} : ( : [0-9a-fA-F]{1,4} ){1,6} | : ( : [0-9a-fA-F]{1,4} ){1,7} | :: | fe80: ( : [0-9a-fA-F]{1,4} ){0,4} % [0-9a-zA-Z]+ # link-local IPv6 addresses with zone index | :: ( ffff ( : 0{1,4} )?Example: Semantic versionhttps://next.pomsky-lang.org/docs/examples/semver/Wed, 02 Nov 2022 15:53:00 +0000https://next.pomsky-lang.org/docs/examples/semver/Here’s a regular expression for parsing a version according to the semver 2.0.0 specification: +(?x) ^( ( [0-9a-fA-F]{1,4} : ){7} [0-9a-fA-F]{1,4} | ( [0-9a-fA-F]{1,4} : ){1,7} : | ( [0-9a-fA-F]{1,4} : ){1,6} : [0-9a-fA-F]{1,4} | ( [0-9a-fA-F]{1,4} : ){1,5} ( : [0-9a-fA-F]{1,4} ){1,2} | ( [0-9a-fA-F]{1,4} : ){1,4} ( : [0-9a-fA-F]{1,4} ){1,3} | ( [0-9a-fA-F]{1,4} : ){1,3} ( : [0-9a-fA-F]{1,4} ){1,4} | ( [0-9a-fA-F]{1,4} : ){1,2} ( : [0-9a-fA-F]{1,4} ){1,5} | [0-9a-fA-F]{1,4} : ( : [0-9a-fA-F]{1,4} ){1,6} | : ( : [0-9a-fA-F]{1,4} ){1,7} | :: | fe80: ( : [0-9a-fA-F]{1,4} ){0,4} % [0-9a-zA-Z]+ # link-local IPv6 addresses with zone index | :: ( ffff ( : 0{1,4} )?Example: Semantic version/docs/examples/semver/Wed, 02 Nov 2022 15:53:00 +0000/docs/examples/semver/Here’s a regular expression for parsing a version according to the semver 2.0.0 specification: (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(?:-(?P<prerelease>[0-9a-zA-Z\-]+(?:\.[0-9a-zA-Z\-]+)*))?(?:\+(?P<buildmeta>[0-9a-zA-Z\-]+(?:\.[0-9a-zA-Z\-]+)*))? And in free-spacing mode: (?P<major> \d+) \. (?P<minor> \d+) \. (?P<patch> \d+) (?: - (?P<prerelease> [0-9a-zA-Z\-]+ (?: \. [0-9a-zA-Z\-]+ )* ) )? (?: \+ (?P<buildmeta> [0-9a-zA-Z\-]+ (?: \. [0-9a-zA-Z\-]+ )* ) )? Here’s an equivalent Pomsky expression: let number = [digit]+; let identifier = [ascii_alnum '-']+; let identifiers = identifier ('.' identifier)*; :major(number) '.' :minor(number) '. \ No newline at end of file diff --git a/docs/examples/ip-addresses/index.html b/docs/examples/ip-addresses/index.html index ea3779e..b6f45b5 100644 --- a/docs/examples/ip-addresses/index.html +++ b/docs/examples/ip-addresses/index.html @@ -1,24 +1,24 @@ -Example: IP addresses - Pomsky

Example: IP addresses

Here’s a regular expression that checks if a string is a valid IPv4 or IPv6 address:

^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(:[0-9a-fA-F]{1,4}){1,6}|:(:[0-9a-fA-F]{1,4}){1,7}|::|fe80:(:[0-9a-fA-F]{1,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))$
+Get Started
  • Example: IP addresses

    Here’s a regular expression that checks if a string is a valid IPv4 or IPv6 address:

    ^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(:[0-9a-fA-F]{1,4}){1,6}|:(:[0-9a-fA-F]{1,4}){1,7}|::|fe80:(:[0-9a-fA-F]{1,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))$
     

    Here’s the same regexp in free-spacing mode with some comments added:

    (?x)
     ^(
         ( [0-9a-fA-F]{1,4} : ){7}       [0-9a-fA-F]{1,4}
    @@ -84,4 +84,4 @@
     
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/examples/java-idents/index.html b/docs/examples/java-idents/index.html index 36608d0..095e249 100644 --- a/docs/examples/java-idents/index.html +++ b/docs/examples/java-idents/index.html @@ -1,28 +1,28 @@ -Example: Java Identifiers - Pomsky

    Example: Java Identifiers

    Regex matching a Java identifier:

    [\p{Connector_Punctuation}\p{Currency_Symbol}\p{Mark}\p{Alphabetic}][\p{Connector_Punctuation}\p{Currency_Symbol}\p{Mark}\p{Alphabetic}\p{Numeric}]*
    +Get Started
  • Example: Java Identifiers

    Regex matching a Java identifier:

    [\p{Connector_Punctuation}\p{Currency_Symbol}\p{Mark}\p{Alphabetic}][\p{Connector_Punctuation}\p{Currency_Symbol}\p{Mark}\p{Alphabetic}\p{Numeric}]*
     

    With abbreviations:

    [\p{Pc}\p{Sc}\p{M}\p{Alpha}][\p{Pc}\p{Sc}\p{M}\p{Alpha}\p{Numeric}]*
     

    And as a Pomsky:

    [Pc Sc M Alpha]
     [Pc Sc M Alpha Numeric]*
     
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/examples/numbers/index.html b/docs/examples/numbers/index.html index 86b27c2..23c0433 100644 --- a/docs/examples/numbers/index.html +++ b/docs/examples/numbers/index.html @@ -1,24 +1,24 @@ -Example: Numbers - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/examples/passwords/index.html b/docs/examples/passwords/index.html index 6589aad..701827a 100644 --- a/docs/examples/passwords/index.html +++ b/docs/examples/passwords/index.html @@ -1,24 +1,24 @@ -Example: Passwords - Pomsky

    Example: Passwords

    Here’s a regular expression that tests if a string contains at least one uppercase letter, lowercase letter, digit and punctuation/symbol code point, and is at least 8 code points long:

    ^(?=[\S\s]*?\d)(?=[\S\s]*?\p{Ll})(?=[\S\s]*?\p{Lu})(?=[\S\s]*?[\pP\pS])[\S\s]{8}
     

    Equivalent Pomsky expression:

    ^
     (>> C* [digit])
    @@ -29,4 +29,4 @@
     
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/examples/semver/index.html b/docs/examples/semver/index.html index 5701396..6faa28e 100644 --- a/docs/examples/semver/index.html +++ b/docs/examples/semver/index.html @@ -1,24 +1,24 @@ -Example: Semantic version - Pomsky

    Example: Semantic version

    Here’s a regular expression for parsing a version according to the semver 2.0.0 specification:

    (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(?:-(?P<prerelease>[0-9a-zA-Z\-]+(?:\.[0-9a-zA-Z\-]+)*))?(?:\+(?P<buildmeta>[0-9a-zA-Z\-]+(?:\.[0-9a-zA-Z\-]+)*))?
    +Get Started
  • Example: Semantic version

    Here’s a regular expression for parsing a version according to the semver 2.0.0 specification:

    (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(?:-(?P<prerelease>[0-9a-zA-Z\-]+(?:\.[0-9a-zA-Z\-]+)*))?(?:\+(?P<buildmeta>[0-9a-zA-Z\-]+(?:\.[0-9a-zA-Z\-]+)*))?
     

    And in free-spacing mode:

    (?P<major> \d+) \. (?P<minor> \d+) \. (?P<patch> \d+)
     (?:
       - (?P<prerelease> [0-9a-zA-Z\-]+ (?: \. [0-9a-zA-Z\-]+ )* )
    @@ -36,4 +36,4 @@
     
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/examples/sitemap.xml b/docs/examples/sitemap.xml index a467406..11ef6cf 100644 --- a/docs/examples/sitemap.xml +++ b/docs/examples/sitemap.xml @@ -1 +1 @@ -https://next.pomsky-lang.org/docs/examples/numbers/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/passwords/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/java-idents/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/emails/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/ip-addresses/2022-09-10T18:16:11+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/semver/2022-11-02T15:53:00+00:00weekly0.5 \ No newline at end of file +/docs/examples/numbers/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/passwords/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/java-idents/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/emails/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/ip-addresses/2022-09-10T18:16:11+00:00weekly0.5/docs/examples/semver/2022-11-02T15:53:00+00:00weekly0.5 \ No newline at end of file diff --git a/docs/get-started/enable-unicode/index.html b/docs/get-started/enable-unicode/index.html index b9b31e3..a5ce414 100644 --- a/docs/get-started/enable-unicode/index.html +++ b/docs/get-started/enable-unicode/index.html @@ -1,24 +1,24 @@ -Enable Unicode Support - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/get-started/index.html b/docs/get-started/index.html index 2623224..4fffd79 100644 --- a/docs/get-started/index.html +++ b/docs/get-started/index.html @@ -1,18 +1,18 @@ -Get Started - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/get-started/index.xml b/docs/get-started/index.xml index b446ffe..41dce63 100644 --- a/docs/get-started/index.xml +++ b/docs/get-started/index.xml @@ -1,14 +1,14 @@ -Get Started onhttps://next.pomsky-lang.org/docs/get-started/Recent content in Get Started onHugo -- gohugo.ioen-USMon, 16 May 2022 13:55:00 +0000Introductionhttps://next.pomsky-lang.org/docs/get-started/introduction/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/get-started/introduction/What if regular expressions had been invented today, with software engineering best practices in mind? Enter Pomsky: A modern language that cross-compiles to regular expressions. +Get Started on/docs/get-started/Recent content in Get Started onHugo -- gohugo.ioen-USMon, 16 May 2022 13:55:00 +0000Introduction/docs/get-started/introduction/Tue, 17 May 2022 13:55:00 +0000/docs/get-started/introduction/What if regular expressions had been invented today, with software engineering best practices in mind? Enter Pomsky: A modern language that cross-compiles to regular expressions. If you&rsquo;re already familiar with regular expressions, check out the quick reference to get familiar with Pomsky. The online playground is the ideal place to start experimenting with Pomsky. -To install the CLI, editor extension, or language integrations, follow the quick start guide.Quick referencehttps://next.pomsky-lang.org/docs/get-started/quick-reference/Tue, 17 Oct 2023 13:55:00 +0000https://next.pomsky-lang.org/docs/get-started/quick-reference/Basics # Pomsky Explanation Regex "string" String string 'string' Raw string (no backslash escaping) string 'a' &#x7c; 'b' a OR b a&#x7c;b ('a' &#x7c; 'b') Group (non-capturing) (?:a&#x7c;b) # comment Line comment (?#comment) . any code point except \n 1 . Repetitions # Pomsky Explanation Regex 'test'* 0 or more (?:test)* 'test'+ 1 or more (?:test)+ 'test'? 0 or 1 (?:test)? 'test'{4,} 4 or more times (?:test){4,} 'test'{4,7} 4 to 7 times (?Quick Starthttps://next.pomsky-lang.org/docs/get-started/quick-start/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/get-started/quick-start/Go to&hellip; +To install the CLI, editor extension, or language integrations, follow the quick start guide.Quick reference/docs/get-started/quick-reference/Tue, 17 Oct 2023 13:55:00 +0000/docs/get-started/quick-reference/Basics # Pomsky Explanation Regex "string" String string 'string' Raw string (no backslash escaping) string 'a' &#x7c; 'b' a OR b a&#x7c;b ('a' &#x7c; 'b') Group (non-capturing) (?:a&#x7c;b) # comment Line comment (?#comment) . any code point except \n 1 . Repetitions # Pomsky Explanation Regex 'test'* 0 or more (?:test)* 'test'+ 1 or more (?:test)+ 'test'? 0 or 1 (?:test)? 'test'{4,} 4 or more times (?:test){4,} 'test'{4,7} 4 to 7 times (?Quick Start/docs/get-started/quick-start/Tue, 17 May 2022 13:55:00 +0000/docs/get-started/quick-start/Go to&hellip; Playground CLI JavaScript Rust CLI #The CLI allows you to compile Pomsky expressions in the command line. Pre-built binaries are available for Windows, Linux and macOS. Download them from the releases page. Pomsky is also packaged for some package managers: Install from source #This requires that a recent Rust toolchain is installed. Instructions for how to install Rust can be found here. Install the CLI with -cargo install pomsky-bin Get help #To find out how to use the CLI, runEnable Unicode Supporthttps://next.pomsky-lang.org/docs/get-started/enable-unicode/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/get-started/enable-unicode/Pomsky has good Unicode support, but you might still have to enable Unicode support in your regex engine. This document explains how to do that for various regex engines. +cargo install pomsky-bin Get help #To find out how to use the CLI, runEnable Unicode Support/docs/get-started/enable-unicode/Tue, 17 May 2022 13:55:00 +0000/docs/get-started/enable-unicode/Pomsky has good Unicode support, but you might still have to enable Unicode support in your regex engine. This document explains how to do that for various regex engines. If some information here is missing, outdated or needs clarification, I would greatly appreciate your help! You can edit this file on GitHub. Rust #The Rust regex crate is Unicode-aware by default. There&rsquo;s nothing you need to do. JavaScript #In JavaScript, set the u flag, for example /[\w\s]/u. \ No newline at end of file diff --git a/docs/get-started/introduction/index.html b/docs/get-started/introduction/index.html index 7169f86..83e18d4 100644 --- a/docs/get-started/introduction/index.html +++ b/docs/get-started/introduction/index.html @@ -1,24 +1,24 @@ -Introduction - Pomsky

    Introduction

    What if regular expressions had been invented today, with software engineering best practices in mind? Enter Pomsky: A modern language that cross-compiles to regular expressions.

    • If you’re already familiar with regular expressions, check out the quick reference to get familiar with Pomsky.

    • The online playground is the ideal place to start experimenting with Pomsky.

    • To install the CLI, editor extension, or language integrations, follow the quick start guide.

    +Get Started
  • Introduction

    What if regular expressions had been invented today, with software engineering best practices in mind? Enter Pomsky: A modern language that cross-compiles to regular expressions.

    • If you’re already familiar with regular expressions, check out the quick reference to get familiar with Pomsky.

    • The online playground is the ideal place to start experimenting with Pomsky.

    • To install the CLI, editor extension, or language integrations, follow the quick start guide.

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/get-started/quick-reference/index.html b/docs/get-started/quick-reference/index.html index d4cc76f..7f400a6 100644 --- a/docs/get-started/quick-reference/index.html +++ b/docs/get-started/quick-reference/index.html @@ -1,24 +1,24 @@ -Quick reference - Pomsky

    Quick reference

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/get-started/quick-start/index.html b/docs/get-started/quick-start/index.html index 1fb06e2..e3828c9 100644 --- a/docs/get-started/quick-start/index.html +++ b/docs/get-started/quick-start/index.html @@ -1,24 +1,24 @@ -Quick Start - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/get-started/sitemap.xml b/docs/get-started/sitemap.xml index 758f713..1c39f9c 100644 --- a/docs/get-started/sitemap.xml +++ b/docs/get-started/sitemap.xml @@ -1 +1 @@ -https://next.pomsky-lang.org/docs/get-started/introduction/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/get-started/quick-reference/2022-10-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/get-started/quick-start/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/get-started/enable-unicode/2022-05-17T13:55:00+00:00weekly0.5 \ No newline at end of file +/docs/get-started/introduction/2022-05-17T13:55:00+00:00weekly0.5/docs/get-started/quick-reference/2022-10-17T13:55:00+00:00weekly0.5/docs/get-started/quick-start/2022-05-17T13:55:00+00:00weekly0.5/docs/get-started/enable-unicode/2022-05-17T13:55:00+00:00weekly0.5 \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index b6fe818..f73e6ea 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,22 +1,22 @@ -Docs - Pomsky

    Docs

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml index 841ca3a..6eca648 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -1 +1 @@ -Docs onhttps://next.pomsky-lang.org/docs/Recent content in Docs onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000 \ No newline at end of file +Docs on/docs/Recent content in Docs onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000 \ No newline at end of file diff --git a/docs/language-tour/alternations/index.html b/docs/language-tour/alternations/index.html index 99ff419..188ee59 100644 --- a/docs/language-tour/alternations/index.html +++ b/docs/language-tour/alternations/index.html @@ -1,24 +1,24 @@ -Alternations - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/anchors/index.html b/docs/language-tour/anchors/index.html index 49f8d0c..5296359 100644 --- a/docs/language-tour/anchors/index.html +++ b/docs/language-tour/anchors/index.html @@ -1,24 +1,24 @@ -Anchors - Pomsky

    Anchors

    Anchors match the start or end of the text. ^ matches the start, and $ matches the end. Anchors are important because regex engines typically match substrings of the text, but sometimes you want the entire text to match.

    For example: Let’s say a user entered a phone number, and you want to check if it is valid. You use the following expression:

    '+'? [ascii_digit '-()/ ']+
    @@ -33,4 +33,4 @@
     text.

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/capturing-groups/index.html b/docs/language-tour/capturing-groups/index.html index 680a817..df1769d 100644 --- a/docs/language-tour/capturing-groups/index.html +++ b/docs/language-tour/capturing-groups/index.html @@ -1,24 +1,24 @@ -Capturing Groups - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/character-sets/index.html b/docs/language-tour/character-sets/index.html index c00c365..52e93d0 100644 --- a/docs/language-tour/character-sets/index.html +++ b/docs/language-tour/character-sets/index.html @@ -1,24 +1,24 @@ -Character Sets - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/dots/index.html b/docs/language-tour/dots/index.html index 0ceba97..d759cb1 100644 --- a/docs/language-tour/dots/index.html +++ b/docs/language-tour/dots/index.html @@ -1,24 +1,24 @@ -Dots - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/index.html b/docs/language-tour/index.html index bed7f56..4fbfda8 100644 --- a/docs/language-tour/index.html +++ b/docs/language-tour/index.html @@ -1,18 +1,18 @@ -Language Tour - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/index.xml b/docs/language-tour/index.xml index 9109455..fdb74ea 100644 --- a/docs/language-tour/index.xml +++ b/docs/language-tour/index.xml @@ -1,22 +1,22 @@ -Language Tour onhttps://next.pomsky-lang.org/docs/language-tour/Recent content in Language Tour onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Stringshttps://next.pomsky-lang.org/docs/language-tour/strings/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/language-tour/strings/First, let&rsquo;s get familiar with the basic building blocks of the language. +Language Tour on/docs/language-tour/Recent content in Language Tour onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Strings/docs/language-tour/strings/Tue, 17 May 2022 13:55:00 +0000/docs/language-tour/strings/First, let&rsquo;s get familiar with the basic building blocks of the language. Pomsky expressions describe the syntactical structure of a text. There are several kinds of expressions. The most important kind is the string: 'test' This is an expression matching the text test. Note that strings are always wrapped in quotes. This is how we can distinguish strings from other kinds of expressions! -Multiple strings can be concatenated by writing them in succession:Alternationshttps://next.pomsky-lang.org/docs/language-tour/alternations/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/language-tour/alternations/What if we want to match multiple strings? Say, we want to match the texts one, two, three, four, and five: +Multiple strings can be concatenated by writing them in succession:Alternations/docs/language-tour/alternations/Tue, 17 May 2022 13:55:00 +0000/docs/language-tour/alternations/What if we want to match multiple strings? Say, we want to match the texts one, two, three, four, and five: 'one' | 'two' | 'three' | 'four' | 'five' It&rsquo;s that easy, just separate all alternatives with a vertical bar. This is called an alternation. The | can be read as &ldquo;or&rdquo;, since the above matches 'one' or 'two' or 'three' or 'four' or 'five'. -Grouping #If we want to concatenate an alternation, we need to wrap it in parentheses:Repetitionshttps://next.pomsky-lang.org/docs/language-tour/repetitions/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/language-tour/repetitions/When we want to match an expression multiple times, it would be cumbersome to repeat our expression. Instead, we can specify how often the expression should occur: +Grouping #If we want to concatenate an alternation, we need to wrap it in parentheses:Repetitions/docs/language-tour/repetitions/Tue, 17 May 2022 13:55:00 +0000/docs/language-tour/repetitions/When we want to match an expression multiple times, it would be cumbersome to repeat our expression. Instead, we can specify how often the expression should occur: ('r' | 'w' | 'x' | '-'){9} This matches an r, w, x or - character 9 times. For example, it would match the string rwxr-xr--, or xxrr-xr-w. -What if we want to match strings of different lengths? Repetitions are quite flexible, so we can specify a lower and upper bound for the number of repetitions:Dotshttps://next.pomsky-lang.org/docs/language-tour/dots/Fri, 03 Nov 2023 18:00:00 +0000https://next.pomsky-lang.org/docs/language-tour/dots/You can use the dot (.) to match any character, except line breaks. For example: +What if we want to match strings of different lengths? Repetitions are quite flexible, so we can specify a lower and upper bound for the number of repetitions:Dots/docs/language-tour/dots/Fri, 03 Nov 2023 18:00:00 +0000/docs/language-tour/dots/You can use the dot (.) to match any character, except line breaks. For example: ... # 3 characters Most regex engines have a &ldquo;singleline&rdquo; option that changes the behavior of .. When enabled, . matches everything, even line breaks. You could use this to check if a text fits in an SMS: -.{1,160} # enforces the 160 character limit If you want to match any character, without having to enable the &ldquo;singleline&rdquo; option, Pomsky also offers the variable C, or Codepoint:Character Setshttps://next.pomsky-lang.org/docs/language-tour/character-sets/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/language-tour/character-sets/What if we want to match an arbitrary word? Enumerating every single word is obviously not feasible, so what to do instead? We can enumerate all letters and repeat them: -( | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' )+ But this is very verbose and still only matches lowercase letters.Shorthandshttps://next.pomsky-lang.org/docs/language-tour/shorthands/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/language-tour/shorthands/There are abbreviations, called shorthands, for often needed character sets: +.{1,160} # enforces the 160 character limit If you want to match any character, without having to enable the &ldquo;singleline&rdquo; option, Pomsky also offers the variable C, or Codepoint:Character Sets/docs/language-tour/character-sets/Tue, 17 May 2022 13:55:00 +0000/docs/language-tour/character-sets/What if we want to match an arbitrary word? Enumerating every single word is obviously not feasible, so what to do instead? We can enumerate all letters and repeat them: +( | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' )+ But this is very verbose and still only matches lowercase letters.Shorthands/docs/language-tour/shorthands/Tue, 17 May 2022 13:55:00 +0000/docs/language-tour/shorthands/There are abbreviations, called shorthands, for often needed character sets: [digit] or [d] matches a decimal number. It is similar to ['0'-'9'], except that it is Unicode aware. [word] or [w] matches a word character, i.e. a letter, digit or underscore. It&rsquo;s similar to ['0'-'9' 'a'-'z' 'A'-'Z' '_'], except that it is Unicode aware. It matches all codepoints in the Alphabetic, Mark, Decimal_Number, Connector_Punctuation, and Join_Control Unicode categories. -[space] or [s] matches whitespace.Anchorshttps://next.pomsky-lang.org/docs/language-tour/anchors/Fri, 03 Nov 2023 18:00:00 +0000https://next.pomsky-lang.org/docs/language-tour/anchors/Anchors match the start or end of the text. ^ matches the start, and $ matches the end. Anchors are important because regex engines typically match substrings of the text, but sometimes you want the entire text to match. +[space] or [s] matches whitespace.Anchors/docs/language-tour/anchors/Fri, 03 Nov 2023 18:00:00 +0000/docs/language-tour/anchors/Anchors match the start or end of the text. ^ matches the start, and $ matches the end. Anchors are important because regex engines typically match substrings of the text, but sometimes you want the entire text to match. For example: Let&rsquo;s say a user entered a phone number, and you want to check if it is valid. You use the following expression: -'+'? [ascii_digit '-()/ ']+ But this also finds a match in texts that aren&rsquo;t valid phone numbers:Word Boundarieshttps://next.pomsky-lang.org/docs/language-tour/word-boundaries/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/language-tour/word-boundaries/Word boundaries match a position where a word starts or ends. Like anchors, they do not consume any characters &ndash; they have a length of 0. Expressions like this are called assertions. +'+'? [ascii_digit '-()/ ']+ But this also finds a match in texts that aren&rsquo;t valid phone numbers:Word Boundaries/docs/language-tour/word-boundaries/Tue, 17 May 2022 13:55:00 +0000/docs/language-tour/word-boundaries/Word boundaries match a position where a word starts or ends. Like anchors, they do not consume any characters &ndash; they have a length of 0. Expressions like this are called assertions. There are three kinds of word boundaries: -< to match at the start of a word > to match at the end of a word % to match either at the start or at the end of a word.Modifiershttps://next.pomsky-lang.org/docs/language-tour/modifiers/Fri, 03 Nov 2023 18:00:00 +0000https://next.pomsky-lang.org/docs/language-tour/modifiers/Modifiers allow you to change the behavior of a Pomsky expression. Modifiers are statements; they can appear either at the top of the file, or inside a group: +< to match at the start of a word > to match at the end of a word % to match either at the start or at the end of a word.Modifiers/docs/language-tour/modifiers/Fri, 03 Nov 2023 18:00:00 +0000/docs/language-tour/modifiers/Modifiers allow you to change the behavior of a Pomsky expression. Modifiers are statements; they can appear either at the top of the file, or inside a group: disable unicode; [word]+ (enable unicode; '.' [word]+) Modifiers must appear before the expression they modify. They consist of two parts: The enable or disable keyword, and a mode, followed by a ;. -There are currently two modes that can be enabled or disabled:Capturing Groupshttps://next.pomsky-lang.org/docs/language-tour/capturing-groups/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/language-tour/capturing-groups/As we have seen before, parentheses can be used to group expressions together. Capturing groups are a special kind of group that capture their matched text. This allows extracting information from matches later. +There are currently two modes that can be enabled or disabled:Capturing Groups/docs/language-tour/capturing-groups/Tue, 17 May 2022 13:55:00 +0000/docs/language-tour/capturing-groups/As we have seen before, parentheses can be used to group expressions together. Capturing groups are a special kind of group that capture their matched text. This allows extracting information from matches later. Here is an example where a Pomsky expression is used to match a semantic version number: # a semver version number, e.g. '1.3.17' :([digit]+) '.' :([digit]+) '.' :([digit]+) The : in front of the groups turns them into capturing groups. \ No newline at end of file diff --git a/docs/language-tour/lookaround/index.html b/docs/language-tour/lookaround/index.html index a766366..5f34a6f 100644 --- a/docs/language-tour/lookaround/index.html +++ b/docs/language-tour/lookaround/index.html @@ -1,24 +1,24 @@ -Lookaround - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/modifiers/index.html b/docs/language-tour/modifiers/index.html index 7d5a008..5d34bd6 100644 --- a/docs/language-tour/modifiers/index.html +++ b/docs/language-tour/modifiers/index.html @@ -1,24 +1,24 @@ -Modifiers - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/ranges/index.html b/docs/language-tour/ranges/index.html index ba2a8e5..55546eb 100644 --- a/docs/language-tour/ranges/index.html +++ b/docs/language-tour/ranges/index.html @@ -1,24 +1,24 @@ -Ranges - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/references/index.html b/docs/language-tour/references/index.html index 5922e87..a23f837 100644 --- a/docs/language-tour/references/index.html +++ b/docs/language-tour/references/index.html @@ -1,24 +1,24 @@ -References - Pomsky

    References

    Sometimes it’s useful to match the same text as we matched before. For example, let’s try to match Rust’s raw strings, which look like r#"..."# or r###"..."###. They can have an arbitrary number of # characters, but must have the same number of #s at each end:

    'r' :('#'*) '"' C* lazy '"' ::1
     

    There are three important parts: First, there’s a capturing group matching any number of #s. We @@ -41,4 +41,4 @@ iteration, the forward reference matches the text test.

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/regex/index.html b/docs/language-tour/regex/index.html index bfde33d..6ec67aa 100644 --- a/docs/language-tour/regex/index.html +++ b/docs/language-tour/regex/index.html @@ -1,24 +1,24 @@ -Inline Regexes - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/repetitions/index.html b/docs/language-tour/repetitions/index.html index 21b73e7..9698d1f 100644 --- a/docs/language-tour/repetitions/index.html +++ b/docs/language-tour/repetitions/index.html @@ -1,24 +1,24 @@ -Repetitions - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/shorthands/index.html b/docs/language-tour/shorthands/index.html index a5fdfaf..251c63d 100644 --- a/docs/language-tour/shorthands/index.html +++ b/docs/language-tour/shorthands/index.html @@ -1,24 +1,24 @@ -Shorthands - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/sitemap.xml b/docs/language-tour/sitemap.xml index a877667..13eb743 100644 --- a/docs/language-tour/sitemap.xml +++ b/docs/language-tour/sitemap.xml @@ -1 +1 @@ -https://next.pomsky-lang.org/docs/language-tour/strings/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/alternations/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/repetitions/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/dots/2023-11-03T18:00:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/character-sets/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/shorthands/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/anchors/2023-11-03T18:00:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/word-boundaries/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/modifiers/2023-11-03T18:00:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/capturing-groups/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/variables/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/lookaround/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/ranges/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/references/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/regex/2022-09-20T13:55:00+00:00weekly0.5 \ No newline at end of file +/docs/language-tour/strings/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/alternations/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/repetitions/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/dots/2023-11-03T18:00:00+00:00weekly0.5/docs/language-tour/character-sets/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/shorthands/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/anchors/2023-11-03T18:00:00+00:00weekly0.5/docs/language-tour/word-boundaries/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/modifiers/2023-11-03T18:00:00+00:00weekly0.5/docs/language-tour/capturing-groups/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/variables/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/lookaround/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/ranges/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/references/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/regex/2022-09-20T13:55:00+00:00weekly0.5 \ No newline at end of file diff --git a/docs/language-tour/strings/index.html b/docs/language-tour/strings/index.html index be7e9a0..bdf37b0 100644 --- a/docs/language-tour/strings/index.html +++ b/docs/language-tour/strings/index.html @@ -1,24 +1,24 @@ -Strings - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/variables/index.html b/docs/language-tour/variables/index.html index 0076dd3..28f601b 100644 --- a/docs/language-tour/variables/index.html +++ b/docs/language-tour/variables/index.html @@ -1,24 +1,24 @@ -Variables - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/language-tour/word-boundaries/index.html b/docs/language-tour/word-boundaries/index.html index 77be2ca..7e05904 100644 --- a/docs/language-tour/word-boundaries/index.html +++ b/docs/language-tour/word-boundaries/index.html @@ -1,24 +1,24 @@ -Word Boundaries - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/built-in-variables/index.html b/docs/reference/built-in-variables/index.html index 4a41867..47c3e35 100644 --- a/docs/reference/built-in-variables/index.html +++ b/docs/reference/built-in-variables/index.html @@ -1,24 +1,24 @@ -Built-in variables (moved) - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/comparison/index.html b/docs/reference/comparison/index.html index 0696b86..ccedda6 100644 --- a/docs/reference/comparison/index.html +++ b/docs/reference/comparison/index.html @@ -1,24 +1,24 @@ -Comparison (moved) - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/alternation/index.html b/docs/reference/constructs/alternation/index.html index ec92d54..f2133d9 100644 --- a/docs/reference/constructs/alternation/index.html +++ b/docs/reference/constructs/alternation/index.html @@ -1,24 +1,24 @@ -Alternation - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/boundary/index.html b/docs/reference/constructs/boundary/index.html index 798accc..5eabdd4 100644 --- a/docs/reference/constructs/boundary/index.html +++ b/docs/reference/constructs/boundary/index.html @@ -1,24 +1,24 @@ -Boundaries - Pomsky

    Boundaries

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/charset/index.html b/docs/reference/constructs/charset/index.html index 85d6339..1597f7d 100644 --- a/docs/reference/constructs/charset/index.html +++ b/docs/reference/constructs/charset/index.html @@ -1,24 +1,24 @@ -Character Set - Pomsky

    Character Set

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/dot/index.html b/docs/reference/constructs/dot/index.html index 01981b8..eb071bb 100644 --- a/docs/reference/constructs/dot/index.html +++ b/docs/reference/constructs/dot/index.html @@ -1,24 +1,24 @@ -Dot - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/group/index.html b/docs/reference/constructs/group/index.html index c16090d..03f2d49 100644 --- a/docs/reference/constructs/group/index.html +++ b/docs/reference/constructs/group/index.html @@ -1,24 +1,24 @@ -Groups - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/index.html b/docs/reference/constructs/index.html index 80da0b8..26c36dc 100644 --- a/docs/reference/constructs/index.html +++ b/docs/reference/constructs/index.html @@ -1,18 +1,18 @@ -Constructs - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/index.xml b/docs/reference/constructs/index.xml index 6c8449b..6051038 100644 --- a/docs/reference/constructs/index.xml +++ b/docs/reference/constructs/index.xml @@ -1,26 +1,26 @@ -Constructs onhttps://next.pomsky-lang.org/docs/reference/constructs/Recent content in Constructs onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Alternationhttps://next.pomsky-lang.org/docs/reference/constructs/alternation/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/alternation/An alternation matches one of several alternatives. +Constructs on/docs/reference/constructs/Recent content in Constructs onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Alternation/docs/reference/constructs/alternation/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/alternation/An alternation matches one of several alternatives. Syntax #let Alternation = ('|'? Alternatives)?; let Alternatives = Alternative ('|' Alternative)*; let Alternative = FixExpression+; See FixExpression. Note that an alternation may have a leading pipe. Also note that an alternative may not be empty, i.e. | | is not allowed. Use an empty string instead, e.g. 'foo' | '' | 'bar'. -Example #| 'hello' | 'pomsky'+ Support #Alternation is supported in all flavors.Boundarieshttps://next.pomsky-lang.org/docs/reference/constructs/boundary/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/boundary/Boundaries (word boundaries and anchors) are assertions that match if the current position has a certain property. -Syntax #let Boundary = | '^' | '$' | '%' | '&lt;' | '&gt;'; Example #^ $ # match empty string % 'foo' % # match 'foo' surrounded by word boundaries !% 'foo' !% # match 'foo' not surrounded by word boundaries &lt; 'foo' &gt; # match 'foo' as a whole word Support #Anchors (^ and $) are supported in all flavors.Character Sethttps://next.pomsky-lang.org/docs/reference/constructs/charset/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/charset/A character set allows matching one of several code points. -Syntax #let CharacterSet = '[' CharacterSetInner+ ']'; let CharacterSetInner = | Range | String | CodePoint | NonPrintable | Shorthand | UnicodeProperty | AsciiShorthand; let Range = SingleChar '-' SingleChar; let SingleChar = | StringOneChar | CodePoint | NonPrintable; # deprecated! let NonPrintable = | 'n' | 'r' | 't' | 'a' | 'e' | 'f'; let Shorthand = '!'? ShorthandIdent; let ShorthandIdent = | 'w' | 'word' | 'd' | 'digit' | 's' | 'space' | 'h' | 'horiz_space' | 'v' | 'vert_space' let AsciiShorthand = | 'ascii' | 'ascii_alpha' | 'ascii_alnum' | 'ascii_blank' | 'ascii_cntrl' | 'ascii_digit' | 'ascii_graph' | 'ascii_lower' | 'ascii_print' | 'ascii_punct' | 'ascii_space' | 'ascii_upper' | 'ascii_word' | 'ascii_xdigit'; let UnicodeProperty = '!Dothttps://next.pomsky-lang.org/docs/reference/constructs/dot/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/dot/The dot matches an arbitrary code point except a line break. In multiline mode, the dot also matches line breaks. +Example #| 'hello' | 'pomsky'+ Support #Alternation is supported in all flavors.Boundaries/docs/reference/constructs/boundary/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/boundary/Boundaries (word boundaries and anchors) are assertions that match if the current position has a certain property. +Syntax #let Boundary = | '^' | '$' | '%' | '&lt;' | '&gt;'; Example #^ $ # match empty string % 'foo' % # match 'foo' surrounded by word boundaries !% 'foo' !% # match 'foo' not surrounded by word boundaries &lt; 'foo' &gt; # match 'foo' as a whole word Support #Anchors (^ and $) are supported in all flavors.Character Set/docs/reference/constructs/charset/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/charset/A character set allows matching one of several code points. +Syntax #let CharacterSet = '[' CharacterSetInner+ ']'; let CharacterSetInner = | Range | String | CodePoint | NonPrintable | Shorthand | UnicodeProperty | AsciiShorthand; let Range = SingleChar '-' SingleChar; let SingleChar = | StringOneChar | CodePoint | NonPrintable; # deprecated! let NonPrintable = | 'n' | 'r' | 't' | 'a' | 'e' | 'f'; let Shorthand = '!'? ShorthandIdent; let ShorthandIdent = | 'w' | 'word' | 'd' | 'digit' | 's' | 'space' | 'h' | 'horiz_space' | 'v' | 'vert_space' let AsciiShorthand = | 'ascii' | 'ascii_alpha' | 'ascii_alnum' | 'ascii_blank' | 'ascii_cntrl' | 'ascii_digit' | 'ascii_graph' | 'ascii_lower' | 'ascii_print' | 'ascii_punct' | 'ascii_space' | 'ascii_upper' | 'ascii_word' | 'ascii_xdigit'; let UnicodeProperty = '!Dot/docs/reference/constructs/dot/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/dot/The dot matches an arbitrary code point except a line break. In multiline mode, the dot also matches line breaks. Syntax #let Dot = '.'; Example #.{4,12} Support #The dot is supported in all flavors. In .NET, the dot matches a UTF-16 code unit rather than a full code point, so a character outside the Basic Multilingual Plane matches two dots (..). -Support for the dot is gated by the dot feature.Groupshttps://next.pomsky-lang.org/docs/reference/constructs/group/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/group/Multiple expressions can be grouped together by wrapping them in parentheses. Capturing groups can be used to extract information from a match. +Support for the dot is gated by the dot feature.Groups/docs/reference/constructs/group/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/group/Multiple expressions can be grouped together by wrapping them in parentheses. Capturing groups can be used to extract information from a match. Syntax #let Group = GroupKind? '(' Expression ')'; let GroupKind = | ':' Name? | 'atomic'; See Expression. A group name must be ASCII-only and may not contain underscores. Furthermore, a group name must be no longer than 32 characters. For example: -:underscores_are_invalid() :äöéŧûøIsInvalid() :thisGroupNameIsTooLongUnfortunately() :thisIsAllowed() These restrictions exist because of Java.Inline Regexhttps://next.pomsky-lang.org/docs/reference/constructs/inline-regex/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/inline-regex/Inline regexes allow you to embed regular expressions in Pomsky. +:underscores_are_invalid() :äöéŧûøIsInvalid() :thisGroupNameIsTooLongUnfortunately() :thisIsAllowed() These restrictions exist because of Java.Inline Regex/docs/reference/constructs/inline-regex/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/inline-regex/Inline regexes allow you to embed regular expressions in Pomsky. Syntax #let InlineRegex = 'regex' String; Example #regex '(?2)' # subroutine regex '[\w--[\p{Latin}]]' # character set subtraction Support #Inline regexes are supported in all flavors. Support for inline regexes is gated by the regexes feature. Specify features with the --allowed-features option. -Behavior #Inline regexes can do anything the targeted regex engine supports. However, inline regexes may not be as portable, because different regex engines use slightly different syntax for some features.Lookaroundhttps://next.pomsky-lang.org/docs/reference/constructs/lookaround/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/lookaround/Lookarounds assert that a certain expression matches before or after the current position. As an assertion, a lookaround does not contain any text; it matches between two code points. +Behavior #Inline regexes can do anything the targeted regex engine supports. However, inline regexes may not be as portable, because different regex engines use slightly different syntax for some features.Lookaround/docs/reference/constructs/lookaround/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/lookaround/Lookarounds assert that a certain expression matches before or after the current position. As an assertion, a lookaround does not contain any text; it matches between two code points. Syntax #let Lookaround = LookaroundPrefix Expression; let LookaroundPrefix = | '&lt;&lt;' | '&gt;&gt;'; See Expression. A lookaround must be wrapped in parentheses if it is followed by another expression: -(&gt;&gt; [word]) [Greek] Note that a lookaround contains an expression, so it introduces a new scope and can include statements.Modifierhttps://next.pomsky-lang.org/docs/reference/constructs/modifier/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/modifier/Modifiers change how the following expression should be treated. +(&gt;&gt; [word]) [Greek] Note that a lookaround contains an expression, so it introduces a new scope and can include statements.Modifier/docs/reference/constructs/modifier/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/modifier/Modifiers change how the following expression should be treated. Syntax #let Modifier = ModifierKeyword BooleanSetting ';'; let ModifierKeyword = | 'enable' | 'disable'; let BooleanSetting = | 'lazy' | 'unicode'; Example #enable lazy; disable unicode; [w]* ( disable lazy; .+ ) Support #Modifiers are supported in all flavors. Support for each mode is gated by the lazy-mode and ascii-mode features. Specify features with the --allowed-features option. -Behavior #Modes can be enabled and disabled in any scope.Negationhttps://next.pomsky-lang.org/docs/reference/constructs/negation/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/negation/Anything that can be compiled to a lookaround, word boundary, or a character set can be negated. +Behavior #Modes can be enabled and disabled in any scope.Negation/docs/reference/constructs/negation/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/negation/Anything that can be compiled to a lookaround, word boundary, or a character set can be negated. Syntax #let Negation = '!' FixExpression; See FixExpression. Example #let no_boundary = !%; !no_boundary (!&gt;&gt; !'a') Support #Negation is supported in all flavors. Behavior #The following kinds of expression can be negated: -Word boundary % Lookarounds &lt;&lt;, &gt;&gt; Character set [...] Strings with exactly one code point Negations Negation happens late in the compilation process, after variable and range expansion, and some optimizations.Number rangeshttps://next.pomsky-lang.org/docs/reference/constructs/number-range/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/constructs/number-range/Number ranges are used to match multi-digit numbers. If you only need to match a single digit, you can use a character set instead. +Word boundary % Lookarounds &lt;&lt;, &gt;&gt; Character set [...] Strings with exactly one code point Negations Negation happens late in the compilation process, after variable and range expansion, and some optimizations.Number ranges/docs/reference/constructs/number-range/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/constructs/number-range/Number ranges are used to match multi-digit numbers. If you only need to match a single digit, you can use a character set instead. Syntax #let NumberRange = 'range' String '-' String Base?; let Base = 'base' Number; Note that the strings must contain digits or ASCII letters in the supported range. For example, in base 16, the characters 0123456789abcdefABCDEF are allowed. The base must be between 2 and 36. \ No newline at end of file diff --git a/docs/reference/constructs/inline-regex/index.html b/docs/reference/constructs/inline-regex/index.html index ec3da37..3b984ec 100644 --- a/docs/reference/constructs/inline-regex/index.html +++ b/docs/reference/constructs/inline-regex/index.html @@ -1,24 +1,24 @@ -Inline Regex - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/lookaround/index.html b/docs/reference/constructs/lookaround/index.html index ec0cc93..7b8c79f 100644 --- a/docs/reference/constructs/lookaround/index.html +++ b/docs/reference/constructs/lookaround/index.html @@ -1,24 +1,24 @@ -Lookaround - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/modifier/index.html b/docs/reference/constructs/modifier/index.html index 76a10a8..26f50d6 100644 --- a/docs/reference/constructs/modifier/index.html +++ b/docs/reference/constructs/modifier/index.html @@ -1,24 +1,24 @@ -Modifier - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/negation/index.html b/docs/reference/constructs/negation/index.html index 553d01a..e7df2a5 100644 --- a/docs/reference/constructs/negation/index.html +++ b/docs/reference/constructs/negation/index.html @@ -1,24 +1,24 @@ -Negation - Pomsky

    Negation

    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/number-range/index.html b/docs/reference/constructs/number-range/index.html index 483d808..4f04eb9 100644 --- a/docs/reference/constructs/number-range/index.html +++ b/docs/reference/constructs/number-range/index.html @@ -1,24 +1,24 @@ -Number ranges - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/recursion/index.html b/docs/reference/constructs/recursion/index.html index 8fffcd7..51d18e0 100644 --- a/docs/reference/constructs/recursion/index.html +++ b/docs/reference/constructs/recursion/index.html @@ -1,24 +1,24 @@ -Recursion - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/reference/index.html b/docs/reference/constructs/reference/index.html index d3b350c..afac13b 100644 --- a/docs/reference/constructs/reference/index.html +++ b/docs/reference/constructs/reference/index.html @@ -1,24 +1,24 @@ -References - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/repetition/index.html b/docs/reference/constructs/repetition/index.html index d04738e..a7984e2 100644 --- a/docs/reference/constructs/repetition/index.html +++ b/docs/reference/constructs/repetition/index.html @@ -1,24 +1,24 @@ -Repetition - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/sitemap.xml b/docs/reference/constructs/sitemap.xml index d5c8e11..1027ca7 100644 --- a/docs/reference/constructs/sitemap.xml +++ b/docs/reference/constructs/sitemap.xml @@ -1 +1 @@ -https://next.pomsky-lang.org/docs/reference/constructs/alternation/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/boundary/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/charset/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/dot/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/group/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/inline-regex/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/lookaround/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/modifier/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/negation/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/number-range/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/recursion/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/reference/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/repetition/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/tests/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/variables/2023-10-23T09:31:00+00:00weekly0.5 \ No newline at end of file +/docs/reference/constructs/alternation/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/boundary/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/charset/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/dot/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/group/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/inline-regex/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/lookaround/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/modifier/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/negation/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/number-range/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/recursion/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/reference/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/repetition/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/tests/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/variables/2023-10-23T09:31:00+00:00weekly0.5 \ No newline at end of file diff --git a/docs/reference/constructs/tests/index.html b/docs/reference/constructs/tests/index.html index e7dacd8..72246f8 100644 --- a/docs/reference/constructs/tests/index.html +++ b/docs/reference/constructs/tests/index.html @@ -1,24 +1,24 @@ -Tests - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/constructs/variables/index.html b/docs/reference/constructs/variables/index.html index 7d26b0f..0ebaa4d 100644 --- a/docs/reference/constructs/variables/index.html +++ b/docs/reference/constructs/variables/index.html @@ -1,24 +1,24 @@ -Variables - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/grammar/index.html b/docs/reference/grammar/index.html index 757a6f6..ddf4caa 100644 --- a/docs/reference/grammar/index.html +++ b/docs/reference/grammar/index.html @@ -1,24 +1,24 @@ -Formal grammar - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/index.html b/docs/reference/index.html index 67a5d06..a79027b 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -1,18 +1,18 @@ -Reference - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/index.xml b/docs/reference/index.xml index dc77d70..09182ac 100644 --- a/docs/reference/index.xml +++ b/docs/reference/index.xml @@ -1,7 +1,7 @@ -Reference onhttps://next.pomsky-lang.org/docs/reference/Recent content in Reference onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Formal grammarhttps://next.pomsky-lang.org/docs/reference/grammar/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/reference/grammar/Summary #This document uses Pomsky syntax to describe Pomsky&rsquo;s syntax. Here&rsquo;s an incomplete summary, which is enough to read the grammar: +Reference on/docs/reference/Recent content in Reference onHugo -- gohugo.ioen-USTue, 17 May 2022 13:55:00 +0000Formal grammar/docs/reference/grammar/Tue, 17 May 2022 13:55:00 +0000/docs/reference/grammar/Summary #This document uses Pomsky syntax to describe Pomsky&rsquo;s syntax. Here&rsquo;s an incomplete summary, which is enough to read the grammar: Variables are declared as let var_name = expression;. This means that var_name can be parsed by parsing expression. Verbatim text is wrapped in double quotes ("") or single quotes (''). A * after a rule indicates that it repeats 0 or more times. -A + after a rule indicates that it repeats 1 or more times.Tokenshttps://next.pomsky-lang.org/docs/reference/tokens/Mon, 23 Oct 2023 09:31:00 +0000https://next.pomsky-lang.org/docs/reference/tokens/Tokens (also called terminals) cannot be further divided. There are the following token types used in the grammar: +A + after a rule indicates that it repeats 1 or more times.Tokens/docs/reference/tokens/Mon, 23 Oct 2023 09:31:00 +0000/docs/reference/tokens/Tokens (also called terminals) cannot be further divided. There are the following token types used in the grammar: Name #Names (or identifiers) consist of a letter or underscore (_), followed by any number of letters, digits and underscores. For example: -# valid identifiers hello i18n _foo_ Gänsefüßchen # invalid identifiers kebab-case 42 👍‍ A letter is any code point with the Alphabetic property, which can be matched in most regex flavors with \p{Alpha}.Comparison (moved)https://next.pomsky-lang.org/docs/reference/comparison/Sun, 10 Jul 2022 16:21:58 +0000https://next.pomsky-lang.org/docs/reference/comparison/This page was moved here.Security (moved)https://next.pomsky-lang.org/docs/reference/security/Sun, 19 Jun 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/reference/security/This page was moved here.Built-in variables (moved)https://next.pomsky-lang.org/docs/reference/built-in-variables/Sun, 19 Jun 2022 13:50:00 +0000https://next.pomsky-lang.org/docs/reference/built-in-variables/This page was moved here.Unicode properties (moved)https://next.pomsky-lang.org/docs/reference/unicode-properties/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/reference/unicode-properties/This page was moved here. \ No newline at end of file +# valid identifiers hello i18n _foo_ Gänsefüßchen # invalid identifiers kebab-case 42 👍‍ A letter is any code point with the Alphabetic property, which can be matched in most regex flavors with \p{Alpha}.Comparison (moved)/docs/reference/comparison/Sun, 10 Jul 2022 16:21:58 +0000/docs/reference/comparison/This page was moved here.Security (moved)/docs/reference/security/Sun, 19 Jun 2022 13:55:00 +0000/docs/reference/security/This page was moved here.Built-in variables (moved)/docs/reference/built-in-variables/Sun, 19 Jun 2022 13:50:00 +0000/docs/reference/built-in-variables/This page was moved here.Unicode properties (moved)/docs/reference/unicode-properties/Tue, 17 May 2022 13:55:00 +0000/docs/reference/unicode-properties/This page was moved here. \ No newline at end of file diff --git a/docs/reference/security/index.html b/docs/reference/security/index.html index 7a8ea7c..45f0f71 100644 --- a/docs/reference/security/index.html +++ b/docs/reference/security/index.html @@ -1,24 +1,24 @@ -Security (moved) - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/sitemap.xml b/docs/reference/sitemap.xml index c04dbc2..47b29a3 100644 --- a/docs/reference/sitemap.xml +++ b/docs/reference/sitemap.xml @@ -1 +1 @@ -https://next.pomsky-lang.org/docs/reference/grammar/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/tokens/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/comparison/2023-03-21T20:29:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/security/2022-06-19T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/built-in-variables/2022-06-19T13:50:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/unicode-properties/2023-03-16T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/alternation/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/boundary/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/charset/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/dot/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/group/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/inline-regex/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/lookaround/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/modifier/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/negation/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/number-range/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/recursion/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/reference/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/repetition/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/tests/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/variables/2023-10-23T09:31:00+00:00weekly0.5 \ No newline at end of file +/docs/reference/grammar/2022-05-17T13:55:00+00:00weekly0.5/docs/reference/tokens/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/2022-05-17T13:55:00+00:00weekly0.5/docs/reference/comparison/2023-03-21T20:29:00+00:00weekly0.5/docs/reference/security/2022-06-19T13:55:00+00:00weekly0.5/docs/reference/built-in-variables/2022-06-19T13:50:00+00:00weekly0.5/docs/reference/unicode-properties/2023-03-16T13:55:00+00:00weekly0.5/docs/reference/constructs/alternation/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/boundary/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/charset/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/dot/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/group/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/inline-regex/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/lookaround/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/modifier/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/negation/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/number-range/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/recursion/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/reference/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/repetition/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/tests/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/variables/2023-10-23T09:31:00+00:00weekly0.5 \ No newline at end of file diff --git a/docs/reference/tokens/index.html b/docs/reference/tokens/index.html index 1d160e9..03d24ba 100644 --- a/docs/reference/tokens/index.html +++ b/docs/reference/tokens/index.html @@ -1,24 +1,24 @@ -Tokens - Pomsky
    - \ No newline at end of file + \ No newline at end of file diff --git a/docs/reference/unicode-properties/index.html b/docs/reference/unicode-properties/index.html index 0eb94be..9bbca3f 100644 --- a/docs/reference/unicode-properties/index.html +++ b/docs/reference/unicode-properties/index.html @@ -1,24 +1,24 @@ -Unicode properties (moved) - Pomsky
    +Get Started
  • - \ No newline at end of file + \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 869f988..2f15a0a 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1 +1 @@ -https://next.pomsky-lang.org/docs/get-started/2022-05-16T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/appendix/2023-10-23T08:39:00+00:00weekly0.5https://next.pomsky-lang.org/docs/get-started/introduction/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/get-started/quick-reference/2022-10-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/get-started/quick-start/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/get-started/enable-unicode/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/strings/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/alternations/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/repetitions/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/dots/2023-11-03T18:00:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/character-sets/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/shorthands/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/anchors/2023-11-03T18:00:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/word-boundaries/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/modifiers/2023-11-03T18:00:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/capturing-groups/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/variables/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/lookaround/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/ranges/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/references/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/language-tour/regex/2022-09-20T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/grammar/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/tokens/2023-10-23T09:31:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/constructs/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/comparison/2023-03-21T20:29:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/security/2022-06-19T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/built-in-variables/2022-06-19T13:50:00+00:00weekly0.5https://next.pomsky-lang.org/docs/reference/unicode-properties/2023-03-16T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/numbers/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/passwords/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/java-idents/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/emails/2022-05-17T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/ip-addresses/2022-09-10T18:16:11+00:00weekly0.5https://next.pomsky-lang.org/docs/examples/semver/2022-11-02T15:53:00+00:00weekly0.5https://next.pomsky-lang.org/docs/appendix/comparison/2023-03-21T20:29:00+00:00weekly0.5https://next.pomsky-lang.org/docs/appendix/security/2022-06-19T13:55:00+00:00weekly0.5https://next.pomsky-lang.org/docs/appendix/unicode-properties/2023-03-16T13:55:00+00:00weekly0.5 \ No newline at end of file +/docs/get-started/2022-05-16T13:55:00+00:00weekly0.5/docs/language-tour/2022-05-17T13:55:00+00:00weekly0.5/docs/reference/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/2022-05-17T13:55:00+00:00weekly0.5/docs/appendix/2023-10-23T08:39:00+00:00weekly0.5/docs/get-started/introduction/2022-05-17T13:55:00+00:00weekly0.5/docs/get-started/quick-reference/2022-10-17T13:55:00+00:00weekly0.5/docs/get-started/quick-start/2022-05-17T13:55:00+00:00weekly0.5/docs/get-started/enable-unicode/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/strings/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/alternations/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/repetitions/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/dots/2023-11-03T18:00:00+00:00weekly0.5/docs/language-tour/character-sets/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/shorthands/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/anchors/2023-11-03T18:00:00+00:00weekly0.5/docs/language-tour/word-boundaries/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/modifiers/2023-11-03T18:00:00+00:00weekly0.5/docs/language-tour/capturing-groups/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/variables/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/lookaround/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/ranges/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/references/2022-05-17T13:55:00+00:00weekly0.5/docs/language-tour/regex/2022-09-20T13:55:00+00:00weekly0.5/docs/reference/grammar/2022-05-17T13:55:00+00:00weekly0.5/docs/reference/tokens/2023-10-23T09:31:00+00:00weekly0.5/docs/reference/constructs/2022-05-17T13:55:00+00:00weekly0.5/docs/reference/comparison/2023-03-21T20:29:00+00:00weekly0.5/docs/reference/security/2022-06-19T13:55:00+00:00weekly0.5/docs/reference/built-in-variables/2022-06-19T13:50:00+00:00weekly0.5/docs/reference/unicode-properties/2023-03-16T13:55:00+00:00weekly0.5/docs/examples/numbers/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/passwords/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/java-idents/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/emails/2022-05-17T13:55:00+00:00weekly0.5/docs/examples/ip-addresses/2022-09-10T18:16:11+00:00weekly0.5/docs/examples/semver/2022-11-02T15:53:00+00:00weekly0.5/docs/appendix/comparison/2023-03-21T20:29:00+00:00weekly0.5/docs/appendix/security/2022-06-19T13:55:00+00:00weekly0.5/docs/appendix/unicode-properties/2023-03-16T13:55:00+00:00weekly0.5 \ No newline at end of file diff --git a/index.xml b/index.xml index dfed197..0dc3c17 100644 --- a/index.xml +++ b/index.xml @@ -1,3 +1,3 @@ -Pomsky onhttps://next.pomsky-lang.org/Recent content in Pomsky onHugo -- gohugo.ioen-USCopyright (c) 2022 Ludwig StecherTue, 17 May 2022 13:55:00 +0000Contacthttps://next.pomsky-lang.org/contact/Thu, 12 Jan 2023 07:30:00 +0000https://next.pomsky-lang.org/contact/Pomsky is maintained by Ludwig Stecher. You can reach me via email. You can sponsor me via GitHub sponsors. +Pomsky on/Recent content in Pomsky onHugo -- gohugo.ioen-USCopyright (c) 2022 Ludwig StecherTue, 17 May 2022 13:55:00 +0000Contact/contact/Thu, 12 Jan 2023 07:30:00 +0000/contact/Pomsky is maintained by Ludwig Stecher. You can reach me via email. You can sponsor me via GitHub sponsors. To report a problem with Pomsky or propose a new feature, create an issue. -For discussions or getting help, you can join our Discord.Policieshttps://next.pomsky-lang.org/policies/Thu, 12 Jan 2023 07:30:00 +0000https://next.pomsky-lang.org/policies/Bloghttps://next.pomsky-lang.org/blog/Fri, 01 Jul 2022 13:06:32 +0000https://next.pomsky-lang.org/blog/Docshttps://next.pomsky-lang.org/docs/Tue, 17 May 2022 13:55:00 +0000https://next.pomsky-lang.org/docs/Get Started Start your journey with Pomsky, the next-level regular expression language. Language Tour Introduction to matching text with Pomsky. No prior knowledge required. Examples See real-world Pomsky expressions, and how they compare to traditional regexes. Reference Comprehensive technical documentation about the language. Appendix Additional resources All pages: \ No newline at end of file +For discussions or getting help, you can join our Discord.Policies/policies/Thu, 12 Jan 2023 07:30:00 +0000/policies/Blog/blog/Fri, 01 Jul 2022 13:06:32 +0000/blog/Docs/docs/Tue, 17 May 2022 13:55:00 +0000/docs/Get Started Start your journey with Pomsky, the next-level regular expression language. Language Tour Introduction to matching text with Pomsky. No prior knowledge required. Examples See real-world Pomsky expressions, and how they compare to traditional regexes. Reference Comprehensive technical documentation about the language. Appendix Additional resources All pages: \ No newline at end of file diff --git a/policies/code-of-conduct/index.html b/policies/code-of-conduct/index.html index 3960dda..df6d70c 100644 --- a/policies/code-of-conduct/index.html +++ b/policies/code-of-conduct/index.html @@ -1,6 +1,6 @@ -Code of Conduct - Pomsky