我需要查找以下字符串中是否存在某种模式
I123456-sxzzukerrdco86rg-CMafApp-java
或D977058-sxzzukerrdco86rg-CMafApp-java
我需要找到以下
I977058-
I
也可以是D
,如D977058-
zzzz-sxzzukerrdco86rg-CMafApp-java
无效11111-sxzzukerrdco86rg-CMafApp-java
无效我尝试使用以下无效的
我不知道如何提供以D或I为起点的模式
var res = str.match(/I-/g);
答案 0 :(得分:0)
并不完全清楚您要匹配的内容,但以下模式将匹配以“D”或“I”开头的任何字符串 - ^字符表示字符串的开头。
var res = str.match(/^[ID]/);
答案 1 :(得分:0)
你可以检查两个字母和想要的数字和短划线。
console.log([
'I123456-sxzzukerrdco86rg-CMafApp-java',
'D977058-sxzzukerrdco86rg-CMafApp-java',
'foo'
].map(/./.test.bind(/^[DI]\d{6}-/)));
答案 2 :(得分:0)
/^[ID]\d+-sxzzukerrdco86rg-CMafApp-java/
答案 3 :(得分:-1)
尝试类似的东西:
/^[ID]/
'^'表示它是单词的开头。 [ID] =>在{I,D}组中获取一个字符
您可以使用此网站来训练和理解regexpressions:https://regex101.com/