要求是这样的
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝这只是试题的一部分
要求写一个正则表达式把试题分组,也就是获得这些试题
我写了一个正则表达式 只能匹配前面一段
我写的 /(?:((?:\d+\.)?.+\([A-F]\)\n(?:[A-F]\..+\n*)+)\n*)+/
那位大神帮我看些 谢谢啦
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝这只是试题的一部分
要求写一个正则表达式把试题分组,也就是获得这些试题
我写了一个正则表达式 只能匹配前面一段
我写的 /(?:((?:\d+\.)?.+\([A-F]\)\n(?:[A-F]\..+\n*)+)\n*)+/
那位大神帮我看些 谢谢啦
<div id="test">
<h2>1.中国共产党成立于哪一年?(A)</h2>
<ul>
<li>A.1921年</li>
<li>B.1922年</li>
<li>C.1927年</li>
<li>D.1949年</li>
</ul> <h2>2.中国最后一个朝代是哪个朝代?(B)</h2>
<ul>
<li>A.清朝</li>
<li>B.明朝</li>
<li>C.宋朝</li>
</ul>
</div>
要获得的话直接.innerHTML不可以吗?
<div id="divtest">
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
</div>
那你就使用下面的方法去获取
<script type="text/javascript">
window.onload=function(){
var _html=document.getElementById("divxzc").innerHTML;
var re=/(\S+)?/g;
arr =_html.match(re);
for(i=0;i<arr.length;i++)
{
alert(arr[i])
}
}</script>如果你的试题在页面中不是那个样子,那你就贴出代码来
<div id="divtest">
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
</div>
那你就使用下面的方法去获取<script type="text/javascript">
window.onload=function(){
var _html=document.getElementById("divtest").innerHTML;
var re=/(\S+)?/g;
arr =_html.match(re);
for(i=0;i<arr.length;i++)
{
alert(arr[i])
}
}</script>
alert(arr);//这个可以得到所有的试题题目以逗号连接起来的一个字符串
window.onload=function(){
var _html=document.getElementById("你文本框的ID").value;
var re=/(\S+)?/g;
arr =_html.match(re);
alert(arr);//这个可以得到所有的试题题目以逗号连接起来的一个字符串
for(i=0;i<arr.length;i++)
{
alert(arr[i]);//这样是得到一条一条的
}
}
</script>
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
就以这个为例你提完之后,你想得到什么?你描述的那个样子,我以为你只要题目
1.中国共产党成立于哪一年?和 2.中国最后一个朝代是哪个朝代?
所以,我就让你以这个为例,你想得到什么?
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝具体点,把你想要的写出来,你不要再描述了,你描述不清楚
比如,我想得到:
问题:1.中国共产党成立于哪一年?它的答案:1921年
类似的写出来
A.1921年
B.1922年
C.1927年
D.1949年
你想将:中国共产党成立于哪一年?这个“题目”,以及它对应的“四个选项[这选项是要分开呢?还是要合在一起呢?]”。以及“答案是哪一个”。都想分别得到?
<script type="text/javascript">
function getQuestions(){
var _html=document.getElementById("regtext").value;//得到所有试题
var re=/([\n\r])+(\d)/g;
_html =_html.replace(re,'|$2');//每组最后一个选项后的换行替换为|号
var arr=_html.split('|');//开始分组
for(i=0;i<arr.length;i++)
{
(function(index){
var opts='';
var optsarr=arr[index].split(/\r?\n/);
for(j=1;j<optsarr.length;j++)
{
opts+=opts.length==0?optsarr[j]:','+optsarr[j];//得到选项列表
}
var re2=/[A-Z]/g;
var answer=re2.exec(optsarr[0]);//得到答案
var name=optsarr[0].match(/(\S+)?/g);//得到带序号的题目名称
alert("题目:"+name+"\n选项列表:"+opts+"\n答案:"+answer);
})(i)
}
}
</script>
<textarea id="regtext" cols="50" rows="50">
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
D.清朝
E.明朝
F.宋朝
3.中国最后一个xxx朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
4.中国最后一个ccccc朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
</textarea><input type="button" onclick="getQuestions()" value="获取试题" />
我给你写了一个
function test() {
var reg = /\d+[\..][\s\S]+?\([^\)]+?\)\s+?(?:[A-Z][\..][^\s]+?\s+)+/g;
var content = "你的试题"
alert(content.match(reg)[0]);
}content.match(reg)[0] 这是第一题及内容,后面的类推。
<script type="text/javascript">
function getQuestions(){
var _html=document.getElementById("regtext").value;//得到所有试题
var re=/([\n\r])+(\d)/g;
_html =_html.replace(re,'|$2');//每组最后一个选项后的换行替换为|号
var arr=_html.split('|');//开始分组
for(i=0;i<arr.length;i++)
{
alert(arr[i]);//这就是每一组的试题:下面被注释掉的代码是得到分组后的明细,包括题目名称,题目选项,题目答案
/*
(function(index){
var opts='';
var optsarr=arr[index].split(/\r?\n/);
for(j=1;j<optsarr.length;j++)
{
opts+=opts.length==0?optsarr[j]:','+optsarr[j];//得到选项列表
}
var re2=/[A-Z]/g;
var answer=re2.exec(optsarr[0]);//得到答案
var name=optsarr[0].match(/(\S+)?/g);//得到带序号的题目名称
alert("题目:"+name+"\n选项列表:"+opts+"\n答案:"+answer);
})(i)
/*
}
}
</script>
<textarea id="regtext" cols="50" rows="50">
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
D.清朝
E.明朝
F.宋朝
3.中国最后一个xxx朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
4.中国最后一个ccccc朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
</textarea><input type="button" onclick="getQuestions()" value="获取试题" />
for(;;){//这个循环遍历每一行
if(这行的第一个非空白字符是数字) {
把这行当作问题Q;
for(;;)//这个一直循环到某行第一个非空白字符是非字母(或者是数字)为止
if(下一行第一个非空白字符是字母){
把行看作是问题Q的选项;
}
else{break;如果不是字母开头就结束循环}
}
}
<html>
<body>
<textarea id="regtext" cols="50" rows="50">
1.中国共产党成立于哪一年?(A)
A.1921年
B.1922年
C.1927年
D.1949年
2.中国最后一个朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
D.清朝
E.明朝
F.宋朝
3.中国最后一个xxx朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
4.中国最后一个ccccc朝代是哪个朝代?(B)
A.清朝
B.明朝
C.宋朝
</textarea>
<script type="text/javascript">
var text = document.getElementById("regtext").value;
var qa = text.split("\n");
var QA = [],j=-1;//QA存储问题组,j指示当前的问题组for(var i=0;i < qa.length;i++){
var line = qa[i];
if(parseInt(line.substr(0,1))){
j++;//如果是数字开头就将这行存储到QA的下一个元素
QA[j] = line + "\n";
}
else{
QA[j] += line+"\n";//否则把这行当作当前问题的选项
}
}for(var i = 0; i < QA.length;i++){//循环输出问题组
alert(QA[i]);
}
</script></body>
</html>