Make types for your RegExp
npm install regexpertsh
npm install regexpert
`
$3
#### 1. Register plugin
`ts
// vite.config.ts
import { regExpertVitePlugin } from 'regexpert';
export default defineConfig(() => {
return {
plugins: [regExpertVitePlugin()],
};
});
`
#### 2. Start a project
`sh
npm run dev
`
> ### Type parsing occurs only when the project is running!
#### 3. Write your RegExp
`ts
// your-file.ts
import { makeNamedRegExp } from 'regexpert';
const { regExp: myFavouriteRegExp, transform: transformMyFavouriteRegExp } = makeNamedRegExp(
/(1)\\s?text between\\s(?,
);
// There will be a conversion to such RegExp - this will work in browsers in IOS
console.info(regExp); // /(1)\s?text between\s(named group)?( )?\2/
`
$3
`ts
// Let's find a suitable line:
const matches = '1text between named group'.match(myFavouriteRegExp);
// [
// '1text between named group ',
// '1',
// 'named group',
// ' '
// ]
// Let's pass the result to the transform function
const result = transformMyFavouriteRegExp(matches);
console.info(result);
// {
// '$0': '1text between named group ',
// '$1': '1',
// groupName: 'named group',
// '$3': ' '
// }
type Result = typeof result;
// Result is {
// $0: 1${string | ''}text between${string}named group${' ' | ''}${'named group' | ''},
// $1: '1',
// groupName: 'named group',
// $3?: ' ',
// }
``