Skip to content

Commit 3a5e14c

Browse files
authored
Update README.md
- Updated README.md Usage examples - Adjusted dates yet again for clarity (sorry Tesla) and Google's incorrect SEO byline date detection (no, this repository wasn't published 8 years before github's launch)
1 parent b4fbf50 commit 3a5e14c

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
A strictly typed & minimal RegExp wrapper.
1010

1111
```ts
12-
const groups1 = new RegExp('^(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})$', 'g').exec('1856-07-10')!.groups;
12+
const groups1 = new RegExp('^(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})$', 'g').exec('9999-12-31')!.groups;
1313
// ⤴ '{ [key: string]: string; } | undefined' 🤮
14-
const groups2 = typedRegExp('^(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})$', 'g').exec('1856-07-10')!.groups;
14+
const groups2 = typedRegExp('^(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})$', 'g').exec('9999-12-31')!.groups;
1515
// ⤴ '{ year: string, month: string, day: string }' 🥰
1616
```
1717
[▶ Try it in the TypeScript Playground](https://www.typescriptlang.org/play/?#code/JYWwDg9gTgLgBAbzjAnmApgEwEroOYCiAHmHAL5wBmUEIcA5DAM4C0U+6J9A3AFC8B6AXABCAQybAAxnACuTMXnS8pEAHZN4qDJgAiYmOgAKBw1DVwAvMjRZchEgAp6APUcB+ADwp0YqAD4AHUDMBAAWMgBKFg9PEHUYAAsgkIQAJiiYr0wxFBTQjMiAEnoAGgY8eki+VQ14TnQpXCYrGx19QxMYMzUAOgapZzSABlGWAEZhljSwqoBCXrwaWTAmPiE4TbgXdxV1TTh2MAAbMSl0ZtbtLA7jU3RzXqPT84BJNSHRqcnp2fLHEAGKSJco+PzleJqJLlHIocoQSiUJjoGDlTRQYBqPDlJYQFZMSJWfxwAAGRQQuPxvVhZF65Mpq16kKStPpy0ZYKgZBJkTm62EW0FQuFItFYvFEslUolO34GwAwglODBZGJjnAxAB3PzoNToJhMQQCuC4GBiTEtVRQdhSeAQMAwYDqNXAVBwABGEiwcHUcCYqgwezqPodTrUaoAiqqoa6UABxdktazXHD4YhgZxuLwAR2jjtQ+QA1LFZGpXf4ANpiFgALwAuoXIpF3CVIkygYl3p9hmAiPNFom+PbHc7jlGxDHUAm8YzS67+dKRbLgJQ4I5h2HI3nY9OqbmJ-mUISELxBRvR+PJ-HE705zBuHANq9V-ur3BgC08MAAG668piOQy3gEB5Hgd10DgMAaG-YBMG9CQ4E1dBjmOXpTy2DZFyFWUyDlY0AEFjiYCBEOgABrFpNVdRINWOHoDDDIMDkxMBZHgZNbFTBwM1cWJDCIGBK2retGwAH1iV9DyLEsgKE2sGybVt2xgYEu3oEYez7XkBxnNZeBYtjbyAo1BWXVdHAMmBen49jLGsUs4MoTEsGPdDNksoz50fYRn3fNRWPgD81EYDVkGVcpXTgECDkBFSaMk2NEMSaQaMxKRjlkOCWgAu80MFTDNhwvC4AAZTESh8FVKBMENAqCH9MQwExPA4AAMjgeVEj8M4zHlU4DTgLq1EwY5mt4FN7HTZxglicMQCwFJIiqZTVI+ehPDmhalu0hk9IKrCDqlWUJrTJx6FiJyoE0fJImCcSvGRWpMDk+ttpWzs1rCUSxH7XaF0OgHAdM3YTu45wKwu4ArsE27AjrWJHvUZ7IjrftYtW5x-F+wcTKBvGZV2XG4CMGgMFgFA4E4D9DDUc4TIAAWYFhOAwW1metaAAC4GHRxJCOOd56DgQsGGeM50H5wW4EwdQQqpg5JFpiC1BI+hKioU48F4CtQam+gwHucxlt5yW1HKXWzoN7oHmCtsxfOU26z4C2eKtnoygqY2O1NvgGaZlnGhgdmaCgbn6ExTBpH1IWZf1YL6iIam-TS5XVcwIXKE18bOMmy3Ddt-oiEaZx+wjqO9Jd5w3Ztj36HTtsBhL7Sy-OPSiYAMU1uBvxdSPUD91gA7Zh4Q+5o5fEMTANcUbOdFz1389rr9KmqAfmZIQPg65hhZCFicp-ob8M81y0JxVsCINUEB3WczBZ7sU6F+to3yjV2Qj9Xkz8MwPvN3VUazBqj8pQaAsVGK1AOJwMQ4Bjh3GfhYDic9H7OBACgLo7tX5fnrnwKBMC4E9F6MRWQUBzj-QJrwXBJx8E216JnRQe1jTillHVROmhdTnB9KuOheBDSUNgegmhXUmDvEjq3HBRBoFUIEY8TQ0gyIoDIb0JRQA)
@@ -58,8 +58,8 @@ All standard `RegExp` methods work exactly as expected, but with equivalent or i
5858
const pattern = typedRegExp('(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})', 'gid');
5959

6060
// Standard methods
61-
pattern.exec('2000-10-24')!.groups; // { year: string; month: string; day: string; }
62-
pattern.test('2000-10-24'); // boolean
61+
pattern.exec('1970-01-01')!.groups; // { year: string; month: string; day: string; }
62+
pattern.test('1970-01-01'); // boolean
6363

6464
// Access RegExp properties
6565
pattern.source; // "(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})"
@@ -74,31 +74,31 @@ pattern.sticky; // false
7474
Each `RegExp`-related `string.prototype` method is available as `${MethodName}In` with equivalent or improved typing:
7575

7676
```typescript
77-
const datePattern = typedRegExp('(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})');
78-
const text = '1976-11-21';
77+
const pattern = typedRegExp('(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})');
78+
const string = '1976-11-21';
7979

80-
// Instead of: text.match(pattern)
81-
const match = datePattern.matchIn(text); // typed match
80+
// Instead of: string.match(pattern)
81+
const match = pattern.matchIn(string); // typed match
8282

83-
// Instead of: text.replace(pattern, replacement)
84-
const formatted1 = datePattern.replaceIn(text, '$<day>/$<month>/$<year>');
85-
const formatted2 = datePattern.replaceIn(text, (match, year, month, day, offset, string, groups) => `${groups.day}/${groups.month}/${groups.year}`); // typed arguments
83+
// Instead of: string.replace(pattern, replacement)
84+
const formatted1 = pattern.replaceIn(string, '$<day>/$<month>/$<year>');
85+
const formatted2 = pattern.replaceIn(string, (match, year, month, day, offset, string, groups) => `${groups.day}/${groups.month}/${groups.year}`); // typed arguments
8686

8787
// Other inversed methods
88-
datePattern.searchIn(text); // like text.search(pattern)
89-
datePattern.splitIn(text); // like text.split(pattern)
88+
pattern.searchIn(string); // like string.search(pattern)
89+
pattern.splitIn(string); // like string.split(pattern)
9090
```
9191

9292
### Global Flag Methods
9393

9494
When using the global (`g`) flag, additional methods become available:
9595

9696
```typescript
97-
const digitPattern = typedRegExp('\\d', 'g');
97+
const pattern = typedRegExp('\\d', 'g');
9898

9999
// Only available with 'g' flag
100-
digitPattern.matchAllIn('1973-12-08'); // like text.matchAll(pattern)
101-
digitPattern.replaceAllIn('123-456', '#'); // like text.replaceAll(pattern, replacement)
100+
pattern.matchAllIn('1973-12-08'); // like string.matchAll(pattern)
101+
pattern.replaceAllIn('123-456', '#'); // like string.replaceAll(pattern, replacement)
102102
```
103103

104104
### Advanced Usage

0 commit comments

Comments
 (0)