不知道你们为什么会没有取中间的模块,从论坛上下载的本身就有啊!不过我还是贴出来吧。
[Erlang] 纯文本查看 复制代码 .版本 2
.子程序 文本_取中间_正则, 文本型, 公开, 比如:欲取全文本为<12345>,现在要取出“3”,<3>的前面为“2”,<3>的后面为“4”,本函数只取第一个,如需取所有,可用批量模式
.参数 源文本, 文本型, , 比如:欲取全文本为 12345
.参数 前面标识文本, 文本型, , 3的前面为“2”
.参数 后面标识文本, 文本型, , 3的后面为“4”
.参数 连前面标识文本一起取出, 逻辑型, 可空, 是否连<前面标识文本>一起取出? 默认为假,不取出!
.参数 连后面标识文本一起取出, 逻辑型, 可空, 是否连<后面标识文本>一起取出? 默认为假,不取出!
.局部变量 正则, 正则表达式类
.局部变量 局_文本, 文本型
正则.创建 (正则元字符转义 (前面标识文本) + “([\s\S]*?)” + 正则元字符转义 (后面标识文本), 源文本, , , , )
局_文本 = 正则.取子匹配文本 (1, 1, )
.如果真 (连前面标识文本一起取出)
局_文本 = 前面标识文本 + 局_文本
.如果真结束
.如果真 (连后面标识文本一起取出)
局_文本 = 局_文本 + 后面标识文本
.如果真结束
返回 (局_文本)
|