gpt4 book ai didi

javascript - 以字母开头的字母数字词的正则表达式

转载 作者:行者123 更新时间:2023-11-30 14:00:31 25 4
gpt4 key购买 nike

我需要从字符串中查找并返回第一次出现的模式。

示例:请找到我的型号RT21M6211SR/SS并保存

预期输出:RT21M6211SR/SS

模式匹配的条件

  1. 数字和字母的组合
  2. 字符长度在 6 到 14 之间
  3. 可以包含也可以不包含特殊字符,例如“-”或“/”
  4. 总是以字母开头

我试过了,但它对第 4 个条件不起作用

var str = 'Please find my model number RT21M6211SR/SS and save it';
var reg = /\b(\w|\d)[\d|\w-\/]{6,14}\b/;
var extractedMNO = '';
var mg = str.match(reg) || [""];
console.log('regular match mno', mg[0]);

最佳答案

\w 匹配单词字符,其中包括 _ 和数字。如果只想匹配字母字符,请使用 [a-z] 匹配第一个字符。

另外,因为要匹配6-14的长度,匹配完第一个字符后,要用{5,13}重复字符集,这样重复的字符加上第一个字符长度为 6-14 个字符。

var str = 'Please find my model number RT21M6211SR/SS and save it';
console.log(str.match(/\b[a-z][a-z0-9\/-]{5,13}/gi)[2]);

但是由于匹配的字符串必须包含数字(而不只是允许数字),那么您需要确保匹配的子字符串中也存在数字,您可以通过在匹配开头的字母顺序后立即对数字使用前瞻来完成:

var str = 'Please find my model number RT21M6211SR/SS and save it';
console.log(str.match(/\b[a-z](?=[a-z\/-]{0,12}[0-9])[a-z0-9\/-]{5,13}/gi));
// ^^^^^^^^^^^^^^^^^^^^^^^

如果您想允许其他特殊字符,只需将它们添加到字符集中即可。

关于javascript - 以字母开头的字母数字词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56389572/

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