正则表达式获取带空格的字符串

时间:2016-12-09 16:00:07

标签: javascript regex

我有一份学生证的列表以及结果,三份测试结果,每位学生都收到了。我创建了一个fileReader来从本地文档中读取文本并将结果存储在变量中。我有一个正则表达式来提取我需要的信息,这应该可以工作但返回null。

信息存储为;

C00695260
93
76
86 

正在尝试使用的正则表达式是, 的 /C\d{8}\s\d{2}\d?\s\d{2}\d?\s\d{2}\d?/g 它突出了我想要的崇高但不是在程序或浏览器控制台中。它按预期工作,直到之后, 的 /C\d{8}\s\d{2}\d?\s/g 下, 但我无法解决原因。这是我的第一篇文章,如果我做错了,我很抱歉;

这个工作

var textIn;
var r =/B\d{8}\s\d{2}\d?\s\d{2}\d?\s\d{2}\d?/g;
var print;
//crete a function the read listen fot the file to change
document.getElementById('openFile').addEventListener('change', function(){
    var reader = new FileReader();
    reader.onload = function(){

        textIn = this.result;

        print = textIn.match(r);

        document.getElementById('Filecontents').textContent = print;
    }
    reader.readAsText(this.files[0]);
})

这有效!

var textIn;
var r =/(B\d{8})\s/g;
var print;
//crete a function the read listen fot the file to change
document.getElementById('openFile').addEventListener('change', function(){
    var reader = new FileReader();
    reader.onload = function(){

        textIn = this.result;

        print = textIn.match(r);

        document.getElementById('Filecontents').textContent = print;
    }
    reader.readAsText(this.files[0]);
})

1 个答案:

答案 0 :(得分:1)

你想要这样的东西: (C \ d {8})\ S(\ d {1,3})\ S(\ d {1,3})\ S(\ d {1,3})

(C \ d {8})=一个被编号的被捕获组,正在寻找一个" C"跟随8位数

\ s =空格

(\ d {1,3})=一个编号的捕获组,寻找1 - 3位数

重复

enter image description here

enter image description here