king8462 发表于 2019-6-14 12:56:39

[已解决]求个正则 判断行内容提取数据

本帖最后由 king8462 于 2019-6-15 14:09 编辑

数据格式如下:
1 . 主编的教材( ),成为当时研究方面唯一的一部教材。

A.


B.


C.


D.




2 . 是国内( )学科的开创者和奠基人之一。

A.


B.


C.


D.

30 . 根据当时的形势和国家经济建设的需要,我国
A.
B.
c.
D.

通过正则判断行内容,如果为“数字”加“.”就提取出来,意思就是提取题干。

想要的结果为:
1 . 主编的教材( ),成为当时一部教材。
2 . 是国内( )学科的开创者和奠基人之一。
。。。。
30 . 根据当时的形势和国家经济建设的需要,我国

请高手帮帮忙,谢谢!

afan 发表于 2019-6-14 13:01:40

#include <Array.au3>
Local $sSource = ClipGet()
Local $aSRE = StringRegExp($sSource, '(?m)^\h*(\d+\h*\.\V+)', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($aSRE), '其中元素为: ' & $aSRE)
_ArrayDisplay($aSRE, UBound($aSRE))

king8462 发表于 2019-6-14 14:09:12

A版威武,谢谢!

king8462 发表于 2019-6-15 14:02:32

本帖最后由 king8462 于 2019-6-15 14:05 编辑

再请A版写一个,万分感谢!

参考答案:D
参考答案:ABCD参考答案:对   
参考答案:错
#include <Array.au3>
Local $sSource = ClipGet()
;Local $aSRE = StringRegExp($sSource, '(?m)^\h*(\d+\h*\.\V+)', 3)
Local $aSRE = StringRegExp($sSource, '参考答案:.*?', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($aSRE), '其中元素为: ' & $aSRE)

_ArrayDisplay($aSRE, UBound($aSRE))

我自己写的获取不到后面的内容,不知道怎么弄!



afan 发表于 2019-6-15 14:06:21

Local $aSRE = StringRegExp($sSource, '参考答案:(\V+)', 3)

king8462 发表于 2019-6-15 14:09:08

再次感谢版主。看来要抽时间好好学学正则了。
页: [1]
查看完整版本: [已解决]求个正则 判断行内容提取数据