问个正则问题!~

jim8590251 2010-09-15 02:36:14
其实就是匹配一个字符串里包含的所有单选、多选答案出来
给定个字符串
1211212112ABC12212AB12121CD212BCD21212A2121C212D212121BCD1221

现在想匹配到
ABC AB CD BCD A C D BCD
就是匹配ABCD的组合,

但是我用 [ABCD]{1,4}匹配的结果 却是
A B C A B C D B C D A C D B C D 就是都分开了,该应该一起的都被拆分成单个的了
这个正则应该怎么写呢?
...全文
140 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jim8590251 2010-09-15
  • 打赏
  • 举报
回复
以上是试卷的大体样式,现在要把试卷入库!~

搞正则搞的真是头疼啊。。。。
jim8590251 2010-09-15
  • 打赏
  • 举报
回复

041、新集矿区面积1092平方公里,资源储量约( )亿吨。B
A、10    B、100    C、1000
042、为实现公司的可持续发展,公司将( )列为三次创业的核心内容。C
A、机械化   B、数字化   C、自动化
043、到2012年,新集矿区实际年生产能力可达( )万吨。C
A、3000   B、4000   C、5000
044、蓝天、绿地、净土是新集的( )。B
A、社区工程    B、环境工程    C、形象工程
045、新集公司二次创业进程中开工兴建的第一对特大型矿井是( )。A
A、刘庄矿    B、板集矿   C、口孜东矿
046、生产管理与经营管理方面,新集公司对下属各矿的管理实行( )。B
A、过程控制   B、责任考核   C、有限授权
047、新集公司效能建设首先需要解决精神状态问题,( )。C
A、形成勤奋学习浓厚氛围    B、树立起干部的良好形象    
C、保持奋发有为蓬勃朝气
048、新集公司作为国投煤炭企业的唯一融资平台,于2007年12月成功上市中国( )。C
A、H股    B、B股    C、A股
049、职工严重“三违”,公司予以( )劳动合同。B
A、协商解除   B、单方解除   C、变更
050、新集公司用( )的工期建成矿区,只相当于矿井正常建设工期的1/2—1/3。C
A、4年半   B、5年半    C、6年半
二、多项选择题
051、国投新集公司位于安徽省中北部,矿区横跨( )市。ACD
A、淮南   B、淮北   C、阜阳   D、亳州
052、1989年,新集一矿创造了( )的高速度。ABCD
A、当年立项   B、当年准备   C、当年开工   D、当年有进度
053、新集公司的发展方向是( )。BCD
A、立足省内   B、以煤炭为龙头   C、煤电并举   D、多元化发展
054、新集精神是( )。ABCD
A、创一流   B、争第一   C、勤奋节俭    D、多奉献
055、刘庄矿是目前国有重点煤矿中少数实现“五化”的矿井,其中包括( )。ABCD
A、矿井管理数字       B、资源环境生态化
C、安全生产本质化      D、技术装备现代化
三、判断题
056、新集建矿始于1991年3月6日新集一矿主井井筒开挖。( )0
057、新集公司的发展蓝图是:以百亿资源,创百亿利税,建百年新集。( )1
058、新集矿风是吃大苦,排万难,勇向前,争第一。( )0
059、瓦斯超限强行作业的责任者,属于一般“三违”。( )0
060、新集公司是以煤炭为主、煤电并举的国家大型一档企业和全国520家重点企业。( )1
第二部分:新集概况(20题)答案
一、单项选择题
041、B   042、C   043、C   044、B   045、A  
046、B   047、C   048、C   049、B   050、C
二、多项选择题
051、ACD  052、ABCD  053、BCD  054、ABCD  055、ABCD
三、判断题
056、×  057、√  058、×  059、×  060、√

jim8590251 2010-09-15
  • 打赏
  • 举报
回复

一、单项选择题
001、B   002、B   003、D   004、D   005、D   006、A  
007、C   008、B   009、D  010、C  011、C   012、A
013、C  014、B   015、D   016、A   017、B  018、A
二、多项选择题
019、ABCD   020、ABD   021、ABC  022、ABD   023、ABCD   024、ABCD   
025、ABC    026、ABCD  027、ABCD  028、ABD  029、AB   030、ABD
三、判断题
031、√   032、√   033、×   034、√   035、√  
036、×   037、×   038、×   039、×   040、√



真是数据如上 所以,我要把所有的答案提出来,放到数组里去,然后根据答案前面的序号(如011),再从字符串里匹配对应的问题 、匹配对应问题的答案,再把问题、答案 保存到数据库

一句话,就是要导入word的试卷!~

有没有什么好办法啊!
xuzuning 2010-09-15
  • 打赏
  • 举报
回复
$s = '1211212112ABC12212AB12121CD212BCD21212A2121C212D212121BCD1221';
preg_match_all('/[a-c]+/i', $s, $r);
print_r($r);

Array ( [0] => Array ( [0] => ABC [1] => AB [2] => C [3] => BC [4] => A [5] => C [6] => BC ) )

请给出待处理的真实数据
jim8590251 2010-09-15
  • 打赏
  • 举报
回复
这个字符串我只是举个例子
真实的我是想匹配
061、B  062、B  063、B
二、多项选择题
064、ABC  065、ABCD  066、AB  067、ABCD;
三、判断题
068、×  069、×  070、×  071、√  072、×  073、√  074、√  
075、×  076、√  077、√  078、√  079、√  080、√

匹配像这样的,答案,有的多选,有的是判断,有的单选
wujun_dry 2010-09-15
  • 打赏
  • 举报
回复
学习!
wujun_dry 2010-09-15
  • 打赏
  • 举报
回复
学习!
gwn1902 2010-09-15
  • 打赏
  • 举报
回复
路过,学习了...
CunningBoy 2010-09-15
  • 打赏
  • 举报
回复
preg_match_all('/\d+([ABCD]{1,4})\d+/is', $string, $matches);
print_r($matches[1]);
CunningBoy 2010-09-15
  • 打赏
  • 举报
回复
preg_match_all('/\d+[ABCD]{1,4}\d+/is', $string, $matches);

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧