search

Home  >  Q&A  >  body text

javascript - js正则表达式获取选择题各项,例如“问题?A:答案一B:答案二”

js 正则问题 求取得各项选择["答案 一","答案二"]
最好只通过A-F来取得各项

var str = "奥巴马是个好总统吗?A:是 B 不是 C、你   猜 D:这儿有可能有空格换行...等等";
var reg = /\s+[A-F][\s|:|:|、|.]+(\S+)/g;//这种写法不能取得内容有空格等的项
//return 返回['是','不是','你   猜','这儿有可能有空格换行...等等']数组
伊谢尔伦伊谢尔伦2774 days ago864

reply all(1)I'll reply

  • 黄舟

    黄舟2017-04-10 15:48:23

    var str = "奥巴马是个好总统吗?A:是 B:不是 C:你猜";
    var reg = /[A-Z]:(\S+)/gi;
    str.replace(reg, function (m, m1) {
      console.log(m1);
    });
    var answers = str.match(reg).map(function (el) {
        return el.split(':')[1];
    });
    var src = "奥巴马是个好总统吗?A:是 B:不是 C:你猜   
    奥巴马是个好总统吗?A:是 B:不是 C:你猜   
        奥巴马是个好总统吗?A:是 B:不是 C:你猜  ";
    var reg1 = /[A-Z]\s*.\s*(\S+)/gi;
    var reg2 = /^[A-Z]\s*.\s*/;
    var questions = src.trim().split(/\s*\n\s*/);
    var answers = questions.map(function (q) {
      return q.match(reg1).map(function (answer) {
        return answer.replace(reg2, '');
      });
    });
    questions = [
      "奥巴马是个好总统吗?A:是 B:不是 C:你猜",
      "奥巴马是个好总统吗?A:是 B:不是 C:你猜",
      "奥巴马是个好总统吗?A:是 B:不是 C:你猜"
    ];
    answer = [
      ["是","不是","你猜"],
      ["是","不是","你猜"],
      ["是","不是","你猜"]
    ];

    reply
    0
  • Cancelreply