繁体   English   中英

Javascript RegEx匹配字符串

[英]Javascript RegEx to Match Against a String

我需要确定具有确切模板的字符串(可以是两个模板之一):

  1. 1个或2个字符(AZ),然后跟一个数字(与多少个数字无关)。
  2. K1E或K2E,然后跟一个数字(无论多少位也无所谓)。 字母“ K”,然后是“ 1”或“ 2”,然后是“ E”,严格来说是字符串的开头方式。

这是我到目前为止的内容:

var word = "K4E43057";
if (word.match(/^[A-Za-z]{1,2}[0-9]/g)
    || word.match(/^[Kk]{1}[12]{1}[Ee]{1}[0-9]/g)) {
    alert("It matches.");
}

即使前缀为K4E(仅应为K1E或K2E),也可以识别字符串确实匹配。 我对正则表达式还是有点陌生​​,所以如果您能帮助我,那将很棒。

感谢您的时间!

除了使用[A-Za-z] ,您还可以使用i修饰符。

您也可以使用or子句将两个正则表达式折叠为一个, |

我修改后的正则表达式:

/^([A-Z]{1,2}|K[12]E)\d+$/gi
(^[A-Z]{2}\d+$)|(^K[1-2]E\d+$)

这应该工作。

我有一个好工具给你

http://regex101.com/r/dC2gM3/2

要匹配任意数量的数字,您需要在末尾加一个*

/^[k][12][e][0-9]*/gi

我不知道,为什么alternation使用| 无法按照此工具上其他答复者的描述工作...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM