【问题标题】:How to optimise following Regex to match specific positions如何优化以下正则表达式以匹配特定位置
【发布时间】:2022-10-20 03:24:12
【问题描述】:

我创建了一个正则表达式来匹配字符串中字符的特定位置。我已经测试过了,它似乎运行正常。但我只是好奇是否有更好的方法可以使这个正则表达式更好。我很感激。

我需要一个合适的词:

1:任何字母 2:任意数 3:任何字母 4:有空间 5:任意数字 6:任何字母 7:任何数字

我写了一个这样的正则表达式:

/[a-zA-Z][0-9][a-zA-Z][\s][0-9][a-zA-Z][0-9]/;

【问题讨论】:

标签: javascript regex


【解决方案1】:

你可以使用这个:

/[a-z]d[a-z]sd[a-z]d/i
  • “i”标志使正则表达式不区分大小写
  • d 等价于 [0-9]
  • 而且您不必在方括号之间加上“s”

【讨论】:

    【解决方案2】:

    您的正则表达式看起来不错,除了您可能想要:

    1. 在开头和结尾锚定正则表达式(如果周围没有相邻的文本),
    2. 或使用单词边界/预期的相邻字符(如果您的模式在更大的字符串中)

      此外,s 包括制表符和换行符,因此您可能希望使用简单的空格 代替。

      案例 1:您有一个独立的模式,例如字符串中没有其他文本

      /^[a-z][0-9][a-z] [0-9][a-z][0-9]$/i;
      

      案例 2:您的模式在包含其他文本的字符串中

      /[a-z][0-9][a-z] [0-9][a-z][0-9]/i;
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多