首页 > 解决方案 > 仅匹配以某个字母开头然后包含 5 个或更多非空白字符的单词

问题描述

我试过遵循正则表达式。

什么是正确的正则表达式来实现它?

首先,字符串必须以指定的这些字符之一开头,然后必须遵循最少 5 个字符(无空格)字符,然后它可以有任何后面,即txxxxx.domain.localdxxxxx.domain.local但同时它不应该与xtxxxx.domain.localor匹配xdxxxx.domain.local

标签: regex

解决方案


一般来说,如果您需要匹配任何由字母、数字或下划线组成的单词,以特定字母开头,您可以使用

(?i)\b[tdi]\w*

它将匹配t, T, d, D,Ii在单词边界 ( \b) 处,然后是任何 0 个或多个字母、数字或下划线。

您可以使用

(?i)(?<!\S)[tdi]\S{5,}

查看正则表达式演示

  • (?i)- 不区分大小写的修饰符
  • (?<!\S)- 空格应该在比赛之前出现
  • [tdi]- 单词开头的三个字母之一
  • \S{5,}- 五个或更多非空白字符。

推荐阅读