Regex 正则表达式是否匹配不包含任何超过10个字符的单词的字符串?
我有一个正则表达式,它将匹配任何包含10个字符的单词的字符串。 但是我需要的是相反的结果。Regex 正则表达式是否匹配不包含任何超过10个字符的单词的字符串?,regex,Regex,我有一个正则表达式,它将匹配任何包含10个字符的单词的字符串。 但是我需要的是相反的结果。 一种正则表达式,只匹配不包含>=10个字符的字符串。未测试: ^(.)+\S{10}(.)+$ 匹配一个或多个单词。第一个单词是可选的,因此空字符串或包含所有空格的字符串将匹配。单词之间必须用空格分隔,因此相邻字符不能超过9个。使用否定断言 ^\s*\S{0,9}(\s+\S{1,9})*\s*$ \S{10}匹配10个\S的序列(必须是更长序列的子序列)(?!pattern)是一个负前瞻,如果模式
一种正则表达式,只匹配不包含>=10个字符的字符串。未测试:
^(.)+\S{10}(.)+$
匹配一个或多个单词。第一个单词是可选的,因此空字符串或包含所有空格的字符串将匹配。单词之间必须用空格分隔,因此相邻字符不能超过9个。使用否定断言
^\s*\S{0,9}(\s+\S{1,9})*\s*$
\S{10}
匹配10个\S
的序列(必须是更长序列的子序列)(?!pattern)
是一个负前瞻,如果模式不匹配,则断言为true<代码>*允许前瞻性尽可能地查看
因此,整个模式是
(?!.*\S{10})
这匹配所有不包含\S{10}
的字符串
另见
^(?!.*\S{10}).*$