Javascript 正则表达式匹配所有以T开头的字符串

Javascript 正则表达式匹配所有以T开头的字符串,javascript,regex,dom,google-chrome-extension,Javascript,Regex,Dom,Google Chrome Extension,我需要一些帮助来编写正则表达式 我需要找到所有以T.开头,以结尾的子字符串(在本例中,这些子字符串是数字)。这些字符串必须是唯一的 例如: T.220431.2 = 1.16363965404949 T.220431.1 = 1.16363965404949 T.3923331.2 = 0.335752950772576 T.3923331.1 = 0.335752950772576 T.4125531.2 = 0.335752950772576

我需要一些帮助来编写正则表达式

我需要找到所有以
T.
开头,以
结尾的子字符串(在本例中,这些子字符串是数字)。这些字符串必须是唯一的

例如:

    T.220431.2 = 1.16363965404949
    T.220431.1 = 1.16363965404949
    T.3923331.2 = 0.335752950772576
    T.3923331.1 = 0.335752950772576
    T.4125531.2 = 0.335752950772576
    T.4125531.1 = 0.335752950772576
我想得到一个数组{2204313923314124431}

有什么想法吗

提前感谢,


编辑:因为我获得了大量的反对票,我只想说我确实尝试过使用
^[T]\.[0-9]+[\.]
,但它对我不起作用。对我放松点,伙计们,我只是想在这里学习

是否从正则表达式中删除$?显然,您没有匹配整行。

是否从正则表达式中删除$?显然,您没有匹配整行。

正则表达式是
/\bT\(\d+)\./g
。我的正则表达式不起作用的原因是我没有考虑字符串开头的空格

无论如何,在使用这个正则表达式之后,得到了带有所需数字的子字符串,并使用join()将所有内容合并在一起

谢谢Rob W的回答

正则表达式是
/\bT\(\d+)\./g
。我的正则表达式不起作用的原因是我没有考虑字符串开头的空格

无论如何,在使用这个正则表达式之后,得到了带有所需数字的子字符串,并使用join()将所有内容合并在一起


谢谢Rob W的回答

与任何正则表达式一样,有无限种可能的解决方案可以让它飞起来。在下面的main.js中查找
parseValues(…)
函数

详情如下:

index.html


main.js

(功能(文档){
函数解析值(值){
var结果=[];
var regex=/T\(\d+)?*/;
var len=value.length;
var i;
var结果;
对于(i=0;i';
}
};
main();
})(文件);

与任何正则表达式一样,有无限可能的解决方案可以让事情顺利进行。在下面的main.js中查找
parseValues(…)
函数

详情如下:

index.html


main.js

(功能(文档){
函数解析值(值){
var结果=[];
var regex=/T\(\d+)?*/;
var len=value.length;
var i;
var结果;
对于(i=0;i';
}
};
main();
})(文件);

我看不出在
T
周围有括号的原因。我一开始尝试了不带括号的方法,但没有效果,所以我想添加括号可能会解决问题。顺便说一句,谢谢你的回答,没有否决我:)
var regex=/\bT\(\d+)\./g,match,result=[];while((match=regex.exec(string)){if(result.indexOf(match[1])==-1)result.push(match[1]);}/*现在您的列表在result*/
中可用(投票决定关闭,因为太本地化了;编辑:注意:堆栈溢出在上一个代码块中添加了一个不可见的零宽度字符,请读者练习删除它以获得有效代码)它起作用。谢谢你,罗布,我很感激。我看不出有什么理由在
T
周围加括号。我一开始试过不加括号,但不起作用,所以我想加括号可能会解决问题。顺便说一句,谢谢你的回答,没有否决我:)
var regex=/\bT\(\d+)\./g,match,result=[];while((match=regex.exec(string)){if(result.indexOf(match[1])==-1)result.push(match[1]);}/*现在您的列表在result*/
中可用(投票决定关闭,因为太本地化了;编辑:注意:堆栈溢出在上一个代码块中添加了一个不可见的零宽度字符,请读者练习删除它以获得有效代码)它起作用。谢谢你,罗布,我很感激。试着测试各种regexesthank的链接和tipyou是正确的“$”不应该在那里,不知道我为什么添加它。尽管如此,正则表达式仍然不起作用,我仍然得到NULL。尝试测试链接的各种regexesthank,tipyou是对的“$”不应该在那里,不确定我为什么添加它。尽管如此,正则表达式仍然不起作用,我仍然得到NULL。
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <div id='output'></div>
    <script src='main.js'></script>
</body>
</html>
(function (document) {
    function parseValues(values) {
        var results = [];
        var regex = /T\.(\d+)?.*/;
        var len = values.length;
        var i;
        var result;
        for (i = 0; i < len; i++) {
            result = values[i].replace(regex, '$1');
            if (result) {
                if (results.indexOf(result) < 0) {
                    results.push(result);
                }
            }
        }
        return results;
    };

    function main() {
        var values = [
            'T.220431.2 = 1.16363965404949',
            'T.220431.1 = 1.16363965404949',
            'T.3923331.2 = 0.335752950772576',
            'T.3923331.1 = 0.335752950772576',
            'T.4125531.2 = 0.335752950772576',
            'T.4125531.1 = 0.335752950772576'
        ];
        var results = parseValues(values);
        var output = document.getElementById('output');
        var len = results.length;
        var i;
        for (i = 0; i < len; i += 1) {
            output.innerHTML += results[i] + '<br/>';
        }
    };

    main();

})(document);