[英]find text in a typescript file using regular expressions
我有一个 Storybook,它有一个存储所有类型的 mdx 文件。 为了不手动填写,我决定写一个node js脚本,解析所有文件,收集到一个mdx文件中。 实现已经准备就绪,但无法创建将文件中的所有类型收集到数组中的正则表达式。
file.ts(更漂亮的格式)示例:
import { Border, Font, Input } from 'anyPath/anyFile'
import { CSSProperties } from 'react'
export type FirstType = Border &
Input & {
background?: CSSProperties['background']
paddingVertical?: CSSProperties['padding']
paddingHorizontal?: CSSProperties['padding']
liveTimeFont?: Font
dateTimeFont?: Font
categoryChampionshipFont?: Font
}
export type SecondType = Border & {
scoreFont?: Font
liveTimeColor?: CSSProperties['color']
dateTimeColor?: CSSProperties['color']
scoreColor?: CSSProperties['color']
}
export type ThirdType = Border
export type FourthType = {
background?: CSSProperties['background']
paddingVertical?: CSSProperties['padding']
paddingHorizontal?: CSSProperties['padding']
liveTimeFont?: Font
}
我想获得以下形式的匹配数组:
[
"type FirstType = Border & \r\n
Input & {\r\n
background?: CSSProperties['background']\r\n
paddingVertical?: CSSProperties['padding']\r\n
paddingHorizontal?: CSSProperties['padding']\r\n
liveTimeFont?: Font\r\n
dateTimeFont?: Font\r\n
categoryChampionshipFont?: Font\r\n
}"
,
"type SecondType = Border & {\r\n
scoreFont?: Font\r\n
liveTimeColor?: CSSProperties['color']\r\n
dateTimeColor?: CSSProperties['color']\r\n
scoreColor?: CSSProperties['color']\r\n
}"
,
"type ThirdType = Border"
,
"type FourthType = {\r\n
background?: CSSProperties['background']\r\n
paddingVertical?: CSSProperties['padding']\r\n
paddingHorizontal?: CSSProperties['padding']\r\n
liveTimeFont?: Font\r\n
}"
]
我们得到了这样一个正则表达式:
type.+(({[\r\n][\r\n]?(\s+.*[\r\n][\r\n]?)+})|(\w+)) /g
但是 file.ts 中的 FirstType 是不正确的parcing。 请帮我完成正则表达式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.