javascript - 在字符串正则表达式中查找模式

标签 javascript regex

我需要查找以下字符串中是否存在某种模式

I123456-sxzzukerrdco86rg-CMafApp-java

D977058-sxzzukerrdco86rg-CMafApp-java

我需要找到以下内容

  1. 如果字符串以 I977058- 开头
  2. I 也可以是 D,如 D977058-
  3. 该字符串应该位于字符串的开头,例如 I977058-sxzzukerrdco86rg-CMafApp-java ,它不能位于字符串的任何其他部分...
  4. zzzz-sxzzukerrdco86rg-CMafApp-java 无效
  5. 11111-sxzzukerrdco86rg-CMafApp-java 无效

我尝试了以下方法,但不起作用

我不知道如何提供以 D 或 I 作为起点的模式

var res = str.match(/I-/g);

最佳答案

您可以检查这两个字母以及所需的数字和破折号。

console.log([
    'I123456-sxzzukerrdco86rg-CMafApp-java',
    'D977058-sxzzukerrdco86rg-CMafApp-java',
    'foo'
].map(/./.test.bind(/^[DI]\d{6}-/)));

关于javascript - 在字符串正则表达式中查找模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45982704/

相关文章:

javascript - document.getElementById 变量使用 jquery 更改类的值

javascript - 在 Facebook 选项卡内提供反向链接

regex - 为什么这个正则表达式不适用于 grep?

c# - 解析文件中文本的代码减慢到停止 c#

php - 允许 + 在正则表达式电子邮件中验证电子邮件

JavaScript JQuery 触发器 ("click") 问题

javascript - Angular 休息调用未定义响应对象属性

regex - Perl CLI 就地字符串替换/用特殊字符替换多行

java - JSoup 似乎忽略字符代码?

javascript - extjs 网格适用于 Firefox,不适用于 IE