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);