Please enable JavaScript to use regex101
/
^
r
e
g
e
x
[
\
-
_
]
?
1
0
1
$
/
i
Reg
ular
Ex
pressions
101
Upgrade to Pro
Enterprise
Regular Expression
/
(?<=^|[\n;](?:[\t ]*(?:\w+ )?)?)export\s*(?<modifiers>(?:\s*declare|\s*abstract|\s*async)+)?\s*(?<declaration>class|const +enum|const|enum|function\*?|interface|let|namespace|type(?! *\{)|var)\s+(?<exports>(?:[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*(?=[\s=:;/({])(?!.*?,))|(?:[\w\t\n\r .,:$'"=-]+)|(?:[{[][\w\t\n\r .,:$'"-]+[}\]]))(?:\s*=\s*[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*)?
/
gu
Input 1
1
New
export const CJS_SYNTAX_REGEX: RegExp = /pattern/gm;export const IGNORE_PATTERNS: string[] = []; export declare const RESOLVE_EXTENSIONS: string[] export enum Snack{} export const enum Snack {} export interface User {} export class House {} export declare abstract class House extends Building {} export abstract class House {} export async function run() {} export async function* run() {} export function foo() {} export function* foo() {} export const $foo = 42 export const $foo= 42 export namespace Foo {} export type Foo = 'foo' export let name1, name2/*, … */; // also var export const name1 = 1, name2 = 2/*, … */; // also var, let export function functionName() { /* … */ } export class ClassName { /* … */ } export function* generatorFunctionName() { /* … */ } export const { name1, name2: bar } = o; export const [ name1, name2 ] = array; declare module 'module-name' { export declare abstract class Building {} export declare class House extends Building {} } "export const $foo = 42" export default async function functionName() { /* … */ } export default function functionName() { /* … */ } export default function* generatorName() { /* … */ } export default async function* generatorNameAsync() { /* … */ } export default class ClassName { /* … */ } export default abstract class ClassName { /* … */ } export default function () { /* … */ } export default async function () { /* … */ } export default function* () { /* … */ } export default async function* () { /* … */ } export default class { /* … */ } export default async () => {} export default async arg => {} export default () => {} export default arg => {} export default (arg) => {} export default foo export default foo; export default 1 + 1; // export const CJS_SYNTAX_REGEX /** * Resolvable file extensions. * * @example * export const CJS_SYNTAX_REGEX */ export type Foo = 'foo'
Substitution