早教吧 育儿知识 作业答案 考试题库 百科 知识分享

UltraEdit中怎么选取含有某个特征字段的行数不固定段落比如我有这样的文本A1111122223333.(到这里当中的行数不固定)5555小明(此行含有特征字段:比如说小明)66667777A2--------------------------

题目详情
UltraEdit中怎么选取含有某个特征字段的行数不固定段落
比如我有这样的文本
A1
1111
2222
3333
.(到这里当中的行数不固定)
5555小明 (此行含有特征字段:比如说小明)
6666
7777
A2
------------------------------------------------------
A3
1111
2222
3333
4444
.(到这里当中的行数不固定)
7777小明 (此行含有特征字段:比如说小明)
8888
9999
A4
------------------------------------------------------
A5
1111
2222
3333
4444
.(到这里当中的行数不固定)
7777小王 (此行含有特征字段:比如说小王)
8888
9999
A6
--------------------------------------------------------------
...若干段落.
类似这样的 数据还有很多段,然后我要把含有小明的段落 ,比如从A1行到A2行,A3行到A4行都复制出来(A5~A6中含有的是小王不是需要的就不选取) ,用正则表达式能做吗?好像一次只能匹配一行,无法匹配多行,特别是从A1到含特质字段行当中间隔的行数不是固定的?
我已经先去除每行尾的空格了
就是 以A1开头到 A2结尾 这段含有“小明”这个字符,行数又不固定的文本 正则表达式怎么写?
▼优质解答
答案和解析
[正则表达式引擎]选:Perl
如有必要,勾选[匹配大小写].
可勾选[列出包含字符串的行],这样就可以在搜索后弹出的对话框中一次复制全部匹配项.
^A\d+\s*?$[\s\S]*?小明[\s\S]*?^A\d+\s*?$
◆说明:
^A\d+\s*?$
▲这里假设:
A在行首:^A
A后数字不定长:\d+
A1到行尾间可以有(或没有)空格或其他空白字符:\s*?
▲若情况不符,请进一步说明.
▲在 UltraEdit 中:(Perl)
\s匹配任意空白字符(包括换行符)
\S匹配任意非空白字符
◆提醒:
用 UltraEdit 的正则表达式处理中文等多字节文字,若方法不当,可能导致乱码.
在 UltraEdit 中,用 Unicode 编码处理中文等,才较为安全.
若仍未解决,请“补充说明”或“追问”,我继续帮你.