gpt4 book ai didi

Javascript 正则表达式匹配由非数字字符分隔的数字

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:01:42 25 4
gpt4 key购买 nike

我想得到所有由 4 位数字组成的数字。前后应有2个非数字字符或根本没有字符。

这就是我目前所拥有的。在此示例中,正确的结果将仅为“0000”,但它也匹配 1234、4567、5678。

我错过了什么?

Js fiddle :http://jsfiddle.net/M8FYm/3/

来源:

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<title>Regex test</title>
<script type="text/javascript">
$(document).ready(function(){
pattern = '(\D{2})?('+'([0-9]{4})'+')(\D{2})?';

var regexp = new RegExp(pattern, "g");
var string = $('.test').html();

while (match = regexp.exec(string)) {
console.log(match);
}
})
</script>
</head>
<body>
<p class="test">
1234 4567 67
0000 345
456 23 0000
12345678
</p>
</body>
</html>

最佳答案

var test = 
"1234 4567 67\n" +
"0000 345\n" +
"456 23 0000\n" +
"12345678";

test.match(/(^|\D{2})\d{4}(\D{2}|$)/gm)
// => ["0000 ", " 0000"]

Regex 查找句子的开头或 2 个非数字,后跟 4 个数字,然后是句子的结尾或 2 个非数字。 /m 修饰符使 ^ 匹配行的开头和 $ 匹配行的结尾,而不仅仅是整个字符串的开头和结尾。

关于Javascript 正则表达式匹配由非数字字符分隔的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com