javascript - 如何在javascript中有效匹配字符串中间的数字?

标签 javascript regex

我有像这样的字符串

XXX-1234
XXXX-1234
XX - 4321
ABCDE - 4321
AB -5677

所以开头会有字母。然后会有连字符。然后是 4 位数字。字母数量可能不同,但数字数量相同 = 4

现在我需要匹配数字的前 2 个位置。所以我尝试了一个漫长的过程。

temp_digit=mystring;
temp_digit=temp_digit.replace(/ /g,'');
temp_digit=temp_digit.split("-");
if(temp_digit[1].substring(0,2)=='12') {}

现在有没有使用正则表达式/模式匹配的过程,以便我可以有效地完成它。类似于 string.match(regexp)我对正则表达式模式很愚蠢。如何从上述字符串的 4 位数字中找到前两位数字?另外,如果该解决方案可以匹配没有连字符的数字(如 XXX 1234),那就太好了,但这是可选的。

最佳答案

尝试使用正则表达式来查找至少一个字母 [a-zA-Z]+,如有必要,后跟一些空格 \s*,后跟连字符-,如有必要,后跟一些空格 \s*。然后它会匹配模式后的前两位数字 \d{2}。:

[a-zA-Z]+\s*-\s*(\d{2})

关于javascript - 如何在javascript中有效匹配字符串中间的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645257/

相关文章:

javascript - 将 JS 正则表达式转换为不使用 lookbehind

regex - 当一个模式是 bash/awk 中的变量时如何在两种模式之间取线(动态正则表达式)

regex - 用于提取多行 LaTeX 章节名称的 Perl 正则表达式

java - 使用单个正则表达式从一个字符串中提取几个子字符串

javascript - 无法访问 jQuery 事件处理程序内的全局变量

javascript - 很少有网站先加载结构再加载内容,这背后是 Ajax 吗?

javascript - Video.js 播放器在处理并重新初始化后无法播放

javascript - Angularjs ng-model 未绑定(bind)到隐藏输入

javascript - 将字符串数组转换为浮点型,然后求转换后数组的平均值

python-3.x - 在python中使用正则表达式获取一组数字