diff --git a/docs/references/engine-js-compat.md b/docs/references/engine-js-compat.md index df264fe8..d498abc9 100644 --- a/docs/references/engine-js-compat.md +++ b/docs/references/engine-js-compat.md @@ -2,7 +2,7 @@ Compatibility reference of all built-in grammars with the [JavaScript RegExp engine](/guide/regex-engines#javascript-regexp-engine-experimental). -> Generated on Monday, December 16, 2024 +> Generated on Thursday, December 19, 2024 > > Version `1.24.2` > @@ -13,8 +13,8 @@ Compatibility reference of all built-in grammars with the [JavaScript RegExp eng | | Count | | :-------------- | --------------------------: | | Total Languages | 218 | -| Supported | [199](#supported-languages) | -| Mismatched | [13](#mismatched-languages) | +| Supported | [206](#supported-languages) | +| Mismatched | [6](#mismatched-languages) | | Unsupported | [6](#unsupported-languages) | ## Supported Languages @@ -39,6 +39,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | ballerina | ✅ OK | 230 | - | | | bash | ✅ OK | 148 | - | | | bat | ✅ OK | 58 | - | | +| beancount | ✅ OK | 39 | - | | | berry | ✅ OK | 18 | - | | | bibtex | ✅ OK | 19 | - | | | bicep | ✅ OK | 27 | - | | @@ -74,7 +75,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | elixir | ✅ OK | 708 | - | | | elm | ✅ OK | 244 | - | | | emacs-lisp | ✅ OK | 153 | - | 22 | -| erb | ✅ OK | 1312 | - | | +| erb | ✅ OK | 1786 | - | | | erlang | ✅ OK | 147 | - | | | fennel | ✅ OK | 31 | - | | | fish | ✅ OK | 25 | - | | @@ -83,8 +84,8 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | fortran-free-form | ✅ OK | 328 | - | | | fsharp | ✅ OK | 239 | - | | | fsl | ✅ OK | 30 | - | | -| gdresource | ✅ OK | 159 | - | | -| gdscript | ✅ OK | 95 | - | | +| gdresource | ✅ OK | 158 | - | | +| gdscript | ✅ OK | 94 | - | | | gdshader | ✅ OK | 39 | - | | | genie | ✅ OK | 20 | - | | | gherkin | ✅ OK | 19 | - | | @@ -98,6 +99,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | groovy | ✅ OK | 133 | - | | | haml | ✅ OK | 562 | - | | | handlebars | ✅ OK | 699 | - | | +| haskell | ✅ OK | 157 | - | | | haxe | ✅ OK | 174 | - | | | hcl | ✅ OK | 67 | - | | | hjson | ✅ OK | 57 | - | | @@ -120,6 +122,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | jssm | ✅ OK | 30 | - | | | jsx | ✅ OK | 376 | - | | | julia | ✅ OK | 1168 | - | | +| kotlin | ✅ OK | 58 | - | | | latex | ✅ OK | 283 | - | | | lean | ✅ OK | 32 | - | | | less | ✅ OK | 280 | - | | @@ -131,6 +134,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | make | ✅ OK | 51 | - | | | marko | ✅ OK | 926 | - | | | matlab | ✅ OK | 88 | - | | +| mdc | ✅ OK | 783 | - | | | mdx | ✅ OK | 197 | - | | | mermaid | ✅ OK | 134 | - | | | mipsasm | ✅ OK | 17 | - | | @@ -146,26 +150,29 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | ocaml | ✅ OK | 178 | - | | | pascal | ✅ OK | 23 | - | | | perl | ✅ OK | 941 | - | | +| php | ✅ OK | 1131 | - | | | plsql | ✅ OK | 45 | - | | | postcss | ✅ OK | 49 | - | | | powerquery | ✅ OK | 30 | - | | | powershell | ✅ OK | 88 | - | | -| prisma | ✅ OK | 26 | - | | +| prisma | ✅ OK | 28 | - | | | prolog | ✅ OK | 26 | - | | | proto | ✅ OK | 33 | - | | +| pug | ✅ OK | 686 | - | | | puppet | ✅ OK | 61 | - | | | python | ✅ OK | 218 | - | | | qml | ✅ OK | 408 | - | | | qmldir | ✅ OK | 7 | - | | | qss | ✅ OK | 31 | - | | | r | ✅ OK | 71 | - | | -| racket | ✅ OK | 69 | - | 8 | +| racket | ✅ OK | 69 | - | | | raku | ✅ OK | 52 | - | | | reg | ✅ OK | 9 | - | | | regexp | ✅ OK | 34 | - | | | rel | ✅ OK | 17 | - | | | riscv | ✅ OK | 36 | - | | -| ruby | ✅ OK | 1307 | - | | +| rst | ✅ OK | 2031 | - | | +| ruby | ✅ OK | 1781 | - | | | rust | ✅ OK | 89 | - | | | sas | ✅ OK | 101 | - | | | sass | ✅ OK | 69 | - | | @@ -199,7 +206,7 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s | tsv | ✅ OK | 1 | - | | | tsx | ✅ OK | 376 | - | | | turtle | ✅ OK | 15 | - | | -| twig | ✅ OK | 1984 | - | | +| twig | ✅ OK | 2426 | - | | | typescript | ✅ OK | 363 | - | | | typespec | ✅ OK | 80 | - | | | typst | ✅ OK | 78 | - | | @@ -235,31 +242,24 @@ In some edge cases, it's not guaranteed that the highlighting will be 100% the s Languages that do not throw with the JavaScript RegExp engine, but will produce different results than the WASM engine. Please use with caution. -| Language | Highlight Match | Patterns Parsable | Patterns Failed | Diff | -| --------- | :----------------------------------------------------------------------------- | ----------------: | --------------: | ---: | -| apex | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=apex) | 187 | - | 236 | -| beancount | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=beancount) | 39 | - | 171 | -| cpp | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=cpp) | 512 | - | 8 | -| haskell | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=haskell) | 157 | - | 39 | -| kotlin | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=kotlin) | 58 | - | 1953 | -| kusto | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=kusto) | 60 | - | 40 | -| markdown | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=markdown) | 118 | - | 915 | -| mdc | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=mdc) | 783 | - | 702 | -| nginx | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=nginx) | 378 | - | 4 | -| php | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=php) | 1131 | - | 605 | -| po | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=po) | 23 | - | 423 | -| pug | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=pug) | 686 | - | 164 | -| rst | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=rst) | 1857 | - | 62 | +| Language | Highlight Match | Patterns Parsable | Patterns Failed | Diff | +| -------- | :---------------------------------------------------------------------------- | ----------------: | --------------: | ---: | +| apex | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=apex) | 187 | - | 33 | +| cpp | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=cpp) | 512 | - | 8 | +| kusto | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=kusto) | 60 | - | 40 | +| markdown | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=markdown) | 118 | - | 100 | +| nginx | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=nginx) | 378 | - | 122 | +| po | [🚧 Mismatch](https://textmate-grammars-themes.netlify.app/?grammar=po) | 23 | - | 114 | ## Unsupported Languages -Languages that throw with the JavaScript RegExp engine, either because they contain syntax we can't polyfill yet or because the grammar contains an invalid Oniguruma regex (that would also fail when using the WASM engine, but silently). You can try these languages with the `forgiving` option to skip errors, but usually it's best to use the Oniguruma engine instead. +Languages that throw with the JavaScript RegExp engine, either because they contain syntax we can't polyfill yet or because the grammar contains an invalid Oniguruma regex (that would also fail when using the WASM engine, but silently). You can try these languages with the `forgiving` option to skip errors. | Language | Highlight Match | Patterns Parsable | Patterns Failed | Diff | | ---------- | :-------------- | ----------------: | --------------: | ---: | | ada | ✅ OK | 201 | 1 | | | hack | ❌ Error | 947 | 1 | 114 | -| purescript | ❌ Error | 72 | 1 | 42 | -| csharp | ❌ Error | 306 | 3 | 204 | -| swift | ❌ Error | 326 | 3 | 40 | -| razor | ❌ Error | 952 | 5 | 22 | +| purescript | ❌ Error | 72 | 1 | | +| csharp | ❌ Error | 306 | 3 | 148 | +| swift | ❌ Error | 326 | 3 | 8 | +| razor | ❌ Error | 952 | 5 | 14 | diff --git a/packages/engine-javascript/src/index.ts b/packages/engine-javascript/src/index.ts index 0e40cd9f..9fe21b29 100644 --- a/packages/engine-javascript/src/index.ts +++ b/packages/engine-javascript/src/index.ts @@ -57,13 +57,15 @@ export function defaultJavaScriptRegexConstructor(pattern: string, options?: Oni global: true, hasIndices: true, rules: { + // Needed since TextMate grammars merge backrefs across patterns allowOrphanBackrefs: true, - // Dropping unhandled `\G` anchors without erroring allows more grammars to pass but also - // allows some false positive and negative matches. It's mostly because this is true that - // the JS engine is marked as experimental + // Removing `\G` anchors in cases when they're not supported for emulation allows + // supporting more grammars, but also allows some mismatches allowUnhandledGAnchors: true, // Improves search performance for generated regexes asciiWordBoundaries: true, + // Follow `vscode-oniguruma` which enables this Oniguruma option by default + captureGroup: true, }, ...options, }, diff --git a/packages/engine-javascript/test/__records__/beancount.js.json b/packages/engine-javascript/test/__records__/beancount.js.json index 219190ad..e7d47c66 100644 --- a/packages/engine-javascript/test/__records__/beancount.js.json +++ b/packages/engine-javascript/test/__records__/beancount.js.json @@ -88,73 +88,116 @@ 43, 0 ], + "result": null + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 0, + 0 + ], "result": { - "index": 0, + "index": 2, "captureIndices": [ { - "start": 43, - "end": 43, - "length": 0 + "start": 0, + "end": 2, + "length": 2 }, { - "start": 43, - "end": 43, - "length": 0 + "start": 2, + "end": 3, + "length": 1 } ] } }, { - "id": "UssajIYDSM", + "id": "DSiGhyuhSn", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to pay credit card\"\n", - 43, + " Assets:MyBank:Checking -400.00 USD\n", + 2, 0 ], - "result": null + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "vIPGO0Npjf", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "\\s", + "(\\S+)([:]?)" ], "args": [ " Assets:MyBank:Checking -400.00 USD\n", - 0, + 9, 0 ], - "result": null + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "YCQA3BEx2P", "patterns": [ + "([:]?)|(\\s)", ";.*", "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", "^\\s*(include)\\s+(\\\".*\\\")", @@ -167,84 +210,154 @@ "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" ], "args": [ - " Liabilities:CreditCard 400.00 USD\n", - 0, + " Assets:MyBank:Checking -400.00 USD\n", + 24, 0 ], - "result": null + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "vIPGO0Npjf", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "\\s", + "(\\S+)([:]?)" ], "args": [ - "2012-11-03 * \"Transfer to account in Canada\"\n", - 0, + " Assets:MyBank:Checking -400.00 USD\n", + 24, 0 ], "result": { - "index": 12, + "index": 0, "captureIndices": [ { - "start": 0, - "end": 45, - "length": 45 - }, - { - "start": 0, - "end": 4, - "length": 4 - }, - { - "start": 4, - "end": 5, + "start": 24, + "end": 25, "length": 1 - }, + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 25, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ { - "start": 5, - "end": 7, - "length": 2 + "start": 36, + "end": 47, + "length": 11 }, { - "start": 7, - "end": 8, + "start": 36, + "end": 37, "length": 1 }, { - "start": 8, - "end": 10, - "length": 2 + "start": 37, + "end": 43, + "length": 6 }, { - "start": 11, - "end": 12, - "length": 1 - }, + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 47, + 0 + ], + "result": null + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ { - "start": 13, - "end": 44, - "length": 31 + "start": 0, + "end": 0, + "length": 0 }, { - "start": 4294967295, - "end": 4294967295, - "length": 0 + "start": 0, + "end": 3, + "length": 3 } ] } @@ -261,77 +374,102 @@ "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to account in Canada\"\n", - 45, + " Liabilities:CreditCard 400.00 USD\n", + 0, 0 ], "result": { - "index": 0, + "index": 2, "captureIndices": [ { - "start": 45, - "end": 45, - "length": 0 + "start": 0, + "end": 2, + "length": 2 }, { - "start": 45, - "end": 45, - "length": 0 + "start": 2, + "end": 3, + "length": 1 } ] } }, { - "id": "UssajIYDSM", + "id": "DSiGhyuhSn", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to account in Canada\"\n", - 45, + " Liabilities:CreditCard 400.00 USD\n", + 2, 0 ], - "result": null + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 14, + "length": 12 + }, + { + "start": 2, + "end": 13, + "length": 11 + }, + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "vIPGO0Npjf", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "\\s", + "(\\S+)([:]?)" ], "args": [ - " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", - 0, + " Liabilities:CreditCard 400.00 USD\n", + 14, 0 ], - "result": null + "result": { + "index": 1, + "captureIndices": [ + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "YCQA3BEx2P", "patterns": [ + "([:]?)|(\\s)", ";.*", "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", "^\\s*(include)\\s+(\\\".*\\\")", @@ -344,34 +482,139 @@ "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" ], "args": [ - " Assets:FR:SocGen:Checking 436.01 CAD\n", - 0, + " Liabilities:CreditCard 400.00 USD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 25, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 37, + "end": 47, + "length": 10 + }, + { + "start": 37, + "end": 37, + "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 47, 0 ], "result": null }, { - "id": "UssajIYDSM", + "id": "DSiGhyuhSn", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" ], "args": [ - "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + "2012-11-03 * \"Transfer to account in Canada\"\n", 0, 0 ], @@ -380,35 +623,48 @@ "captureIndices": [ { "start": 0, - "end": 82, - "length": 82 + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 } ] } }, { - "id": "UssajIYDSM", + "id": "6rhN7TjQjX", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" ], "args": [ - "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", - 82, + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, 0 ], - "result": null + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } }, { "id": "UssajIYDSM", @@ -428,7 +684,7 @@ "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" ], "args": [ - "2012-11-03 * \"Transfer to pay credit card\"\n", + "2012-11-03 * \"Transfer to account in Canada\"\n", 0, 0 ], @@ -437,8 +693,8 @@ "captureIndices": [ { "start": 0, - "end": 43, - "length": 43 + "end": 45, + "length": 45 }, { "start": 0, @@ -472,8 +728,8 @@ }, { "start": 13, - "end": 42, - "length": 29 + "end": 44, + "length": 31 }, { "start": 4294967295, @@ -495,29 +751,120 @@ "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to pay credit card\"\n", - 43, + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45, + 0 + ], + "result": null + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0, 0 ], "result": { - "index": 0, + "index": 2, "captureIndices": [ { - "start": 43, - "end": 43, - "length": 0 + "start": 0, + "end": 2, + "length": 2 }, { - "start": 43, - "end": 43, + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 2, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 9, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, "length": 0 } ] } }, { - "id": "UssajIYDSM", + "id": "YCQA3BEx2P", "patterns": [ + "([:]?)|(\\s)", ";.*", "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", "^\\s*(include)\\s+(\\\".*\\\")", @@ -530,66 +877,1849 @@ "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to pay credit card\"\n", - 43, + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24, 0 ], - "result": null + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 25, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 36, + "end": 47, + "length": 11 + }, + { + "start": 36, + "end": 37, + "length": 1 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 47, + 0 + ], + "result": { + "index": 8, + "captureIndices": [ + { + "start": 48, + "end": 49, + "length": 1 + } + ] + } + }, + { + "id": "xBl88salRH", + "patterns": [ + "(?=(;|\\n))", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 49, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 50, + "end": 58, + "length": 8 + }, + { + "start": 50, + "end": 50, + "length": 0 + }, + { + "start": 50, + "end": 54, + "length": 4 + }, + { + "start": 55, + "end": 58, + "length": 3 + } + ] + } + }, + { + "id": "xBl88salRH", + "patterns": [ + "(?=(;|\\n))", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 58, + "end": 58, + "length": 0 + }, + { + "start": 58, + "end": 59, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58, + 0 + ], + "result": null + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 3, + "length": 3 + } + ] + } + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 2, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 9, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 27, + "end": 27, + "length": 0 + } + ] + } + }, + { + "id": "YCQA3BEx2P", + "patterns": [ + "([:]?)|(\\s)", + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 27, + "end": 27, + "length": 0 + }, + { + "start": 27, + "end": 27, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 27, + "end": 28, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 28, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 37, + "end": 47, + "length": 10 + }, + { + "start": 37, + "end": 37, + "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 47, + 0 + ], + "result": null + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "id": "UssajIYDSM", + "patterns": [ + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + ], + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 82, + "length": 82 + } + ] + } + }, + { + "id": "UssajIYDSM", + "patterns": [ + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + ], + "args": [ + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", + 82, + 0 + ], + "result": null + }, + { + "id": "UssajIYDSM", + "patterns": [ + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + ], + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 0, + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 43, + "length": 43 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 42, + "length": 29 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + "2012-11-03 * \"Transfer to pay credit card\"\n", + 43, + 0 + ], + "result": null + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 0, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 2, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 9, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "id": "YCQA3BEx2P", + "patterns": [ + "([:]?)|(\\s)", + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 25, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 36, + "end": 47, + "length": 11 + }, + { + "start": 36, + "end": 37, + "length": 1 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD\n", + 47, + 0 + ], + "result": null + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 3, + "length": 3 + } + ] + } + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 0, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 2, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 14, + "length": 12 + }, + { + "start": 2, + "end": 13, + "length": 11 + }, + { + "start": 13, + "end": 14, + "length": 1 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 14, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 14, + "end": 24, + "length": 10 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "id": "YCQA3BEx2P", + "patterns": [ + "([:]?)|(\\s)", + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 25, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 37, + "end": 47, + "length": 10 + }, + { + "start": 37, + "end": 37, + "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Liabilities:CreditCard 400.00 USD\n", + 47, + 0 + ], + "result": null + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } + }, + { + "id": "UssajIYDSM", + "patterns": [ + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + ], + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 0, + 0 + ], + "result": { + "index": 12, + "captureIndices": [ + { + "start": 0, + "end": 45, + "length": 45 + }, + { + "start": 0, + "end": 4, + "length": 4 + }, + { + "start": 4, + "end": 5, + "length": 1 + }, + { + "start": 5, + "end": 7, + "length": 2 + }, + { + "start": 7, + "end": 8, + "length": 1 + }, + { + "start": 8, + "end": 10, + "length": 2 + }, + { + "start": 11, + "end": 12, + "length": 1 + }, + { + "start": 13, + "end": 44, + "length": 31 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + "2012-11-03 * \"Transfer to account in Canada\"\n", + 45, + 0 + ], + "result": null + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 0, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 2, + 0 + ], + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 9, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 9, + "end": 24, + "length": 15 + }, + { + "start": 24, + "end": 24, + "length": 0 + } + ] + } + }, + { + "id": "YCQA3BEx2P", + "patterns": [ + "([:]?)|(\\s)", + ";.*", + "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", + "^\\s*(include)\\s+(\\\".*\\\")", + "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", + "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 24, + "end": 24, + "length": 0 + }, + { + "start": 4294967295, + "end": 4294967295, + "length": 0 + } + ] + } + }, + { + "id": "vIPGO0Npjf", + "patterns": [ + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 24, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 24, + "end": 25, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 25, + 0 + ], + "result": { + "index": 5, + "captureIndices": [ + { + "start": 36, + "end": 47, + "length": 11 + }, + { + "start": 36, + "end": 37, + "length": 1 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 47, + 0 + ], + "result": { + "index": 8, + "captureIndices": [ + { + "start": 48, + "end": 49, + "length": 1 + } + ] + } + }, + { + "id": "xBl88salRH", + "patterns": [ + "(?=(;|\\n))", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 49, + 0 + ], + "result": { + "index": 1, + "captureIndices": [ + { + "start": 50, + "end": 58, + "length": 8 + }, + { + "start": 50, + "end": 50, + "length": 0 + }, + { + "start": 50, + "end": 54, + "length": 4 + }, + { + "start": 55, + "end": 58, + "length": 3 + } + ] + } + }, + { + "id": "xBl88salRH", + "patterns": [ + "(?=(;|\\n))", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 58, + "end": 58, + "length": 0 + }, + { + "start": 58, + "end": 59, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + 58, + 0 + ], + "result": null + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 3, + "length": 3 + } + ] + } + }, + { + "id": "6rhN7TjQjX", + "patterns": [ + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 0, + 0 + ], + "result": { + "index": 2, + "captureIndices": [ + { + "start": 0, + "end": 2, + "length": 2 + }, + { + "start": 2, + "end": 3, + "length": 1 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "DSiGhyuhSn", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" ], "args": [ - " Assets:MyBank:Checking -400.00 USD\n", - 0, + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 2, 0 ], - "result": null + "result": { + "index": 4, + "captureIndices": [ + { + "start": 2, + "end": 9, + "length": 7 + }, + { + "start": 2, + "end": 8, + "length": 6 + }, + { + "start": 8, + "end": 9, + "length": 1 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "vIPGO0Npjf", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "\\s", + "(\\S+)([:]?)" ], "args": [ - " Liabilities:CreditCard 400.00 USD\n", - 0, + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 9, 0 ], - "result": null + "result": { + "index": 1, + "captureIndices": [ + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 9, + "end": 27, + "length": 18 + }, + { + "start": 27, + "end": 27, + "length": 0 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "YCQA3BEx2P", "patterns": [ + "([:]?)|(\\s)", ";.*", "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", "^\\s*(include)\\s+(\\\".*\\\")", @@ -602,55 +2732,26 @@ "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?", + "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to account in Canada\"\n", - 0, + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27, 0 ], "result": { - "index": 12, + "index": 0, "captureIndices": [ { - "start": 0, - "end": 45, - "length": 45 - }, - { - "start": 0, - "end": 4, - "length": 4 - }, - { - "start": 4, - "end": 5, - "length": 1 - }, - { - "start": 5, - "end": 7, - "length": 2 - }, - { - "start": 7, - "end": 8, - "length": 1 - }, - { - "start": 8, - "end": 10, - "length": 2 - }, - { - "start": 11, - "end": 12, - "length": 1 + "start": 27, + "end": 27, + "length": 0 }, { - "start": 13, - "end": 44, - "length": 31 + "start": 27, + "end": 27, + "length": 0 }, { "start": 4294967295, @@ -661,108 +2762,159 @@ } }, { - "id": "6rhN7TjQjX", + "id": "vIPGO0Npjf", "patterns": [ - "(?=(^\\s*$|^\\S))", - "(;.*)$", - "^\\s+(?=([A-Z!]))", + "\\s", + "(\\S+)([:]?)" + ], + "args": [ + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 27, + 0 + ], + "result": { + "index": 0, + "captureIndices": [ + { + "start": 27, + "end": 28, + "length": 1 + } + ] + } + }, + { + "id": "DSiGhyuhSn", + "patterns": [ + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", - "(#)([A-Za-z0-9\\-_/.]+)", - "(\\^)([A-Za-z0-9\\-_/.]+)", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to account in Canada\"\n", - 45, + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 28, 0 ], "result": { - "index": 0, + "index": 5, "captureIndices": [ { - "start": 45, - "end": 45, - "length": 0 + "start": 37, + "end": 47, + "length": 10 }, { - "start": 45, - "end": 45, + "start": 37, + "end": 37, "length": 0 + }, + { + "start": 37, + "end": 43, + "length": 6 + }, + { + "start": 44, + "end": 47, + "length": 3 } ] } }, { - "id": "UssajIYDSM", + "id": "DSiGhyuhSn", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" ], "args": [ - "2012-11-03 * \"Transfer to account in Canada\"\n", - 45, + " Assets:FR:SocGen:Checking 436.01 CAD\n", + 47, 0 ], "result": null }, { - "id": "UssajIYDSM", + "id": "DSiGhyuhSn", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S|^\\s*[A-Z]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(;.*)$", + "(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)", + "([A-Z][a-z]+)(:)", + "([\\-|+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\._\\-]{0,22}[A-Z0-9])", + "\\{\\{?", + "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})", + "\\@\\@?", + "[^\\s]" ], "args": [ - " Assets:MyBank:Checking -400.00 USD @ 1.09 CAD\n", + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", 0, 0 ], - "result": null + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } }, { - "id": "UssajIYDSM", + "id": "6rhN7TjQjX", "patterns": [ - ";.*", - "^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)", - "^\\s*(include)\\s+(\\\".*\\\")", - "^\\s*(option)\\s+(\\\".*\\\")\\s+(\\\".*\\\")", - "^\\s*(plugin)\\s*(\"(.*?)\")\\s*(\".*?\")?", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)", - "(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(\".*?\")?\\s*(\".*?\")?" + "(?=(^\\s*$|^\\S))", + "(;.*)$", + "^\\s+(?=([A-Z!]))", + "^\\s*([a-z][A-Za-z0-9\\-_]+)([:])", + "(#)([A-Za-z0-9\\-_/.]+)", + "(\\^)([A-Za-z0-9\\-_/.]+)", + "[^\\s]" ], "args": [ - " Assets:FR:SocGen:Checking 436.01 CAD\n", + "; https://beancount.github.io/docs/beancount_language_syntax.html#costs-and-prices\n", 0, 0 ], - "result": null + "result": { + "index": 0, + "captureIndices": [ + { + "start": 0, + "end": 0, + "length": 0 + }, + { + "start": 0, + "end": 1, + "length": 1 + } + ] + } }, { "id": "UssajIYDSM", diff --git a/packages/engine-javascript/test/__records__/markdown.js.json b/packages/engine-javascript/test/__records__/markdown.js.json index 73a64462..916e2e62 100644 --- a/packages/engine-javascript/test/__records__/markdown.js.json +++ b/packages/engine-javascript/test/__records__/markdown.js.json @@ -1254,98 +1254,69 @@ 0, 0 ], - "result": { - "index": 0, - "captureIndices": [ - { - "start": 9, - "end": 9, - "length": 0 - }, - { - "start": 4294967295, - "end": 4294967295, - "length": 0 - }, - { - "start": 4294967295, - "end": 4294967295, - "length": 0 - }, - { - "start": 4294967295, - "end": 4294967295, - "length": 0 - }, - { - "start": 9, - "end": 9, - "length": 0 - } - ] - } + "result": null }, { - "id": "VLAAL1CWJq", + "id": "pMnsbeoMVl", "patterns": [ - "((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)" + "(^|\\￿)[ ]{0,3}([\\*\\-_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?", + "(?:^|\\￿)[ ]{0,3}(#{1,6}\\s+(.*?)(\\s+#{1,6})?\\s*)$", + "(^|\\￿)[ ]{0,3}(>) ?", + "(^|\\￿)([ ]{0,3})([*+-])([ \\t])", + "(^|\\￿)([ ]{0,3})(\\d+[\\.)])([ \\t])", + "(^|\\￿)(\\s*)(`{3,}|~{3,})\\s*(?i:(markdown|md)((\\s+|:|,|\\{|\\?)[^`]*)?$)", + "(^|\\￿)(\\s*)(`{3,}|~{3,})\\s*(?=([^`]*)?$)", + "(^|\\￿)([ ]{4}|\\t)", + "\\s*(\\[)([^]]+?)(\\])(:)[ \\t]*(?:(<)((?:\\\\[<>]|[^<>\\n])*)(>)|(\\S+?))[ \\t]*(?:((\\().+?(\\)))|((\").+?(\"))|((').+?(')))?\\s*$", + "(^|\\￿)\\s*(