Regex 仅匹配以某个字母开头,然后包含5个或更多非空白字符的单词
我试过跟着正则表达式Regex 仅匹配以某个字母开头,然后包含5个或更多非空白字符的单词,regex,Regex,我试过跟着正则表达式 (?i)(^t | ^d | ^i |)\S{5}.-无论起始字符是什么,它都匹配任何字符串 (?i)^(t | d | i |)\S{5}.-仅匹配以字符“t”开头的字符 (?i)[tdi]\S{5}.*-这看起来不错,但无法使用^。如果我在(?i)[^tdi]\S{5}.*.中使用^,那么它将匹配除以t开头之外的所有内容。我想匹配txxxxx但不匹配xtxxxx,而I和d的情况也是如此 实现它的正确正则表达式是什么 首先,字符串必须以指定的其中一个字符开头,然后必须
-无论起始字符是什么,它都匹配任何字符串(?i)(^t | ^d | ^i |)\S{5}.
-仅匹配以字符“t”开头的字符(?i)^(t | d | i |)\S{5}.
-这看起来不错,但无法使用^。如果我在(?i)[tdi]\S{5}.*
中使用(?i)[^tdi]\S{5}.*.
,那么它将匹配除以^
开头之外的所有内容。我想匹配t
但不匹配txxxxx
,而xtxxxx
和I
的情况也是如此d
首先,字符串必须以指定的其中一个字符开头,然后必须跟在至少5个字符(无空格)的字符后面,然后它后面可以有任何内容,即
txxxxx.domain.local
,dxxx.domain.local
但同时它不应与xtxxxx.domain.local
或xdxxxx.domain.local通常,如果您需要匹配任何由字母、数字或下划线组成的单词,可以使用以特定字母开头的单词
(?i)\b[tdi]\w*
(?i)(?<!\S)[tdi]\S{5,}
它将在单词边界(\b
)匹配t
、d
、d
、I
或I
,然后匹配任何0个或更多的字母、数字或下划线
你可以用
(?i)\b[tdi]\w*
(?i)(?<!\S)[tdi]\S{5,}
(?i)(?
见
(?i)
-启用不区分大小写的修饰符
(?-空格应该在匹配之前出现
[tdi]
-单词开头的三个字母之一
\S{5,}
-五个或更多非空白字符
你是指以a
、b
或c
开头的整串字符串还是字符串中的单词?什么“单词”?a--+=
是单词?注意,在前两个示例中,有一个无关的
,最后一个在组中,空的替代项使组成为可选的,(^t^d^i|)
((?:^t^^d^^i)
。你的意思是你只想要(?i)^[tdi]\S{5}.
?但是你写了什么“这看起来不错,但不能使用^
,因为这只是求反。”?如果你想匹配以字符类中列出的其中一个开头的单词,你可以在它之外添加^
,以断言字符串^[tdi]{5}的开头(?!\S)
我认为第一个模式与第二个模式匹配。你能提供一个你正在寻找的“before”和“after”的例子吗?你的意思是你只想要(?I)^[tdi]\S{5}...*?-是的,如果这样做有效,但它不匹配。它只匹配以char“t”开头的字符串。但是你写了什么“这看起来很好,但不能使用^,因为这只是否定。”?如果我使用^inside(?i)[^tdi]\S{5}.*那么它匹配除以“t”开头的以外的所有内容。我想匹配txxxxx,但不是xtxxxx,i和d的情况也是如此。这说明问题了吗?不多。那么,你想在单词边界处匹配吗?试试(?i)\b[tdi]\w*