好的正则表达式对我来说是最令人困惑的事情之一。我正在尝试用 JavaScript 来做到这一点。我有一个搜索字段,用户将输入一系列字符。代码是:
999MC111
或者只是
999MC
始终有 2 个字母字符。但前面可能有 1-4 个字符,有时末尾有 1-4 个字符。
如果代码以 Alpha 字符结尾,那么我将运行某个 ajax 脚本。如果有数字 + 2 个字母 + 数字...它会运行不同的 ajax 脚本。
我的困难是我知道\d 代表 2 位数字......但它可能并不总是 2 位数字。
那么我的正则表达式代码是什么来将其分割成一个数组。或其他什么。
我认为正确的正则表达式是 (/^([0-9]+)([a-zA-z]+)([0-9]+)$/
但是我如何确保中间只有 2 个字母字符?
谢谢
最佳答案
您可以使用正则表达式 /\d$/
来确定它是否以小数结尾。
\d
匹配十进制字符,$
匹配字符串末尾。 /
字符将表达式括起来。
尝试在 JavaScript 控制台中逐行运行此代码。
var values = ['999MC111', '999MC', '999XYZ111']; // some test values
// does it end in digits?
!!values[0].match(/\d$/); // evaluates to true
!!values[1].match(/\d$/); // evaluates to false
关于javascript - 正则表达式在查找字母字符时分割数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481830/