JavaScript中的Regex帮助,用于验证和提取最后一个数字
我希望根据JS/JQuery中的以下模式验证输入文本:JavaScript中的Regex帮助,用于验证和提取最后一个数字,javascript,jquery,regex,Javascript,Jquery,Regex,我希望根据JS/JQuery中的以下模式验证输入文本: P-1-A100 或 R-5-M42 或 P-10-B99等 文本基本上需要包含以下六个部分: 单字符p或R后跟 单个'-'后跟 后跟1个或多个数字的任意数字 单个'-'后跟 任何字母表(A-Z)后跟 具有1个或多个数字的任何数字 我也需要照顾转义角色吗。 如何确保输入文本与正则表达式匹配 如果匹配,如何从输入文本中提取最后一部分(编号)。 我试过这个,但对我不起作用 var isMatch=inputText.match([PR]-\d+
P-1-A100
或
R-5-M42
或
P-10-B99等
文本基本上需要包含以下六个部分:
单字符p或R后跟
单个'-'后跟
后跟1个或多个数字的任意数字
单个'-'后跟
任何字母表(A-Z)后跟
具有1个或多个数字的任何数字
我也需要照顾转义角色吗。
如何确保输入文本与正则表达式匹配
如果匹配,如何从输入文本中提取最后一部分(编号)。
我试过这个,但对我不起作用
var isMatch=inputText.match([PR]-\d+-[A-Z]+\d+)
您只需要将组添加到正则表达式中
var match = inputText.match(/^[PR]-\d+-[A-Z]+(\d+)$/);
若匹配项不为空,则数字将位于数组中的位置match[1]
var number = match ? match[1] : null;
编辑:
按照Aaron的建议添加了锚。可能吧?在你感兴趣的文本子模式周围使用一个捕获组。看到了吗,这就像一个符咒!谢谢Wiktor!