琦玉 发表于 2022-5-24 18:24:47

请教大佬一个关于正则的问题

初步设想是用户输入x0421156这样的字符,可以匹配网页里XD220421156这样的字符串,这个应该怎么写呢

李恒道 发表于 2022-5-24 19:28:22

.*?0421156
这样?

wwwwwllllk 发表于 2022-5-25 17:32:22

没看懂,你是要知道你如何匹配XD220421156这个吗

琦玉 发表于 2022-5-25 21:08:29

是这样,页面有很多字符串,比如XD220326187、THTZD-20220308-0027、HHD-20220305-026类似这样的号码,然后我设想是输入x、t、h这3个字母开头后面就是数字,比如输入x326187,就会匹配到XD220326187这个,输入t3080027就会匹配THTZD-20220308-0027,我现在的做法就是先用正则匹配输入的是否带字母开头,然后再IF……else if各个开头

cxxjackie 发表于 2022-5-25 21:38:00

琦玉 发表于 2022-5-25 21:08
是这样,页面有很多字符串,比如XD220326187、THTZD-20220308-0027、HHD-20220305-026类似这样的号码,然后 ...

const str1 = 'x326187';
const str2 = 'XD220326187';
const re = new RegExp(`(?=)${str1}.*?${str1.slice(1)}`, 'i'); //i模式忽略大小写
console.log(re.test(str2));

琦玉 发表于 2022-5-26 19:52:10

cxxjackie 发表于 2022-5-25 21:38


非常感激大佬
页: [1]
查看完整版本: 请教大佬一个关于正则的问题