gpt4 book ai didi

javascript - 正则表达式:读取数字后面的字符

转载 作者:行者123 更新时间:2023-12-02 20:32:22 24 4
gpt4 key购买 nike

我有正则表达式代码:

<script type="text/javascript">
var str = "kw-xr55und";
var patt1 = /[T|EE|EJU].*D/i;
document.write(str.match(patt1));
</script>

它可以读取:

str= "KD-R55UND" -> as UND

但是如果我输入:

 str= "kw-tc800h2und ->  result tc-800h2und.  //it makes script read T in front of 800
i want the result as UND

如何让代码只检查800后面的字符?

编辑

在这段代码之后它可以工作:

<script type="text/javascript">
var str = "kw-tc800h2und";
var patt1 = /[EJTUG|]\D*D/i;
document.write(str.match(patt1));
</script>

但显示下一个问题,我可以显示结果,如果:

str= "kw-tc800un2d"

i want result like -> UN2D

最佳答案

试试这个:

 var patt1 = /(T|EE|EJU)\D*$/i;

它将匹配以 TEEEJU 开头并在字符串末尾结束的非数字字符序列。如果字符串必须以 D 结尾(如示例所示),您可以将其添加到:

 var patt1 = /(T|EE|EJU)\D*D$/i;

如果您想在任何地方匹配它,而不仅仅是在字符串末尾,请尝试以下操作:

 var patt1 = /(T|EE|EJU)\D*D/i;

编辑:哎呀!不,这当然行不通。我试图猜测 [T|EE|EJU] 的意思,因为它是一个与一个字符 E 匹配的字符类, JTU|(相当于 [EJTU|]) ,我确信这不是你的意思。但到底是什么,试试这个:

 var patt1 = /[EJTU|]\D*D/i;

我仍然不明白你想做什么,但有时尝试和错误是前进的唯一方法。至少这次我测试了! :P

编辑:好的,所以匹配可以包含数字,只是不能以1开头。试试这个:

var patt1 = /[EJTU|]\w*D/i;

关于javascript - 正则表达式:读取数字后面的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878350/

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