常用正则表达式

作者: 游鱼思


语法参考

. - 除换行符以外的所有字符。

^ - 字符串开头。

$ - 字符串结尾。

\d,\w,\s - 匹配数字、字符(无法匹配不常见的中文、半角括号)、空格。

\D,\W,\S - 匹配非数字、非字符(无法匹配不常见的中文、半角括号)、非空格。

[abc] - 匹配 a、b 或 c 中的一个字母。

[a-z] - 匹配 a 到 z 中的一个字母。

[^abc] - 匹配除了 a、b 或 c 中的其他字母。

aa|bb - 匹配 aa 或 bb。

? - 0 次或 1 次匹配。

{n} - 匹配 n次。

{n,} - 匹配 n次以上。

{m,n} - 最少 m 次,最多 n 次匹配。

(expr) - 捕获 expr 子模式,以 \1 使用它。

(?:expr) - 忽略捕获的子模式。

(?=expr) - 正向预查模式 expr。

(?!expr) - 负向预查模式 expr。

全局搜索 - g

忽略大小写 - i

多行模式 - m

合并多余的空行、tab

查找:[\n\t]

替换:\n

指标简称处理

匹配行末 ( ) ( ) 中的内容,通常为单位

查找:

([\S]{2,5}\n

([\S]{2,5}\n

匹配衍生度量

查找:(_.*?\n)|比上年同期增减\n|比年初增减\n

替换:\n

[可选]匹配只有1-2个字符的行

[1]{1,2}\n

经济指标分隔并交换位置

查找:

^(\S+)(应收票据及应收账款|主营业务费用及附加|主营业务税金及附加|固定资产原价合计|流动资产平均余额|本年应交增值税|比上年同期增减|所有者权益合计|港澳台资本金|工业产品产量|工业销售产值|固定资产合计|流动负债合计|流动资产合计|平均用工人数|应收账款净额|主营业务成本|主营业务收入)\n

^(\S+)(产成品存货|产品销售率|出口交货值|法人资本金|个人资本金|工业增加值|国家资本金|集体资本金|亏损企业数|利息净支出|外商资本金|应交所得税|应交增值税|财务费用|负债合计|管理费用|亏损总额|累计折旧|利润总额|利息费用|利息支出|实收资本|投资收益|销售费用|营业成本|营业费用|营业利润|营业收入|应付帐款|应收账款|资产总计|期末库存)\n

^(\S+)(产成品|产销率|单位数|销售量|增加值|产量|存货)\n

替换:\2\t\1\n

[可选]替换被错误切割的指标名称和维度

举例:资产合计 联营工业企业流动

需要替换为:流动资产合计 联营工业企业

查找:^(资产合计)+\t(\S+)(流动)+\n

替换:\3\1\t\2\n

其它类似的:

^(存货)+\t(\S+)(产成品)+\n

^(应收账款)+\t(\S+)(应收票据及)+\n

切分维度

1、工业亏损企业 替换为 工业企业亏损企业

2、把一些维度关键词切开

查找:(轻工业企业|重工业企业|大中型|规模以上|私营|国有控股|外商及港澳台商投资|亏损企业)

替换:+\1

查找:\t+

替换:\t

单位处理

提取单位

查找:

(([\S]{1,8}){1})\n

(([\S]{1,8}){1})\n

替换:\t\1\n

遗漏了: ××××年=100

生效日期-失效日期

查找:

.(([0-9]{4})-([0-9]{4}|至今)).

.(([0-9]{4})-([0-9]{4}|至今)).

.(([0-9]{0})-([0-9]{4}|至今)).

.(([0-9]{4})-([0-9]{0}|至今)).

替换:

\1\t\2

查找:^(?![0-9]{4}|\t).*

替换:空字符

价格方式 提取

查找:^.(现价|不变价).\n

替换:\1\n

查找:^(?!现价|不变价)+.*\n

替换:\n

衍生度量提取

查找:

[2]+(比上年同期增减|上年同期累计值|当月同比增速|环比增长速度|累计同比增速|比年初增减)\S*\n

[3]+(增长速度|环比增速|环比增长|累计增长|上年同期|同比增长|本月末|当季值|当期值|当月值|累计值|期末值)\S*\n

[4]+(增减|增速)\S*\n

替换:\t\1\n

提取第二列

地区维表,提取多列中最后有值的一列

查找:.\t(\S+)[\t]?\n

替换:\1\n


  1. \S ↩︎

  2. ^\t\n\r ↩︎

  3. ^\t\n\r ↩︎

  4. ^\t\n\r ↩︎