Regex 150字计数正则表达式

Regex 150字计数正则表达式,regex,Regex,我需要一个正则表达式,允许不超过150个字。我试过几种表达方式,但都是字符,而不是单词 我的尝试: ^(?:\b\w+\b[\s\r\n]*){1,150}$ ^(?:\w+\W+){0,150}(?:\w+)$ ^(\w*\W*){0,250}$ 不确定使用正则表达式限制输入是什么意思。正则表达式用于提取或匹配模式。您可以使用此信息限制输入 下面的正则表达式将匹配一个带有150个“单词”的语句 我对一个单词使用双引号,因为由于句号前的空格,下面的句子将分别由6个单词和7个单词组成 I am

我需要一个正则表达式,允许不超过150个字。我试过几种表达方式,但都是字符,而不是单词

我的尝试:

^(?:\b\w+\b[\s\r\n]*){1,150}$
^(?:\w+\W+){0,150}(?:\w+)$
^(\w*\W*){0,250}$

不确定使用正则表达式限制输入是什么意思。正则表达式用于提取或匹配模式。您可以使用此信息限制输入

下面的正则表达式将匹配一个带有150个“单词”的语句

我对一个单词使用双引号,因为由于句号前的空格,下面的句子将分别由6个单词和7个单词组成

I am happy. This is good
I am happy . This is good
如果愿意,可以从表达式中删除“^”和“$”符号,只提取前150个单词

^\w+(?:\s+\w+){0,149}$
这应该对你有用

有关
5
,请参见演示


你的措辞有点让人困惑,但如果我理解正确,你可能想要像
“\W*(/W+/W*){0150}”
。非常感谢。我的意思是,使用正则表达式的用户不应该写超过150个单词。我想将此有效设置为表单上的文本区域。我试试这个。真的很感激如果所有的词都粘在一起呢?没有空间吗?非常感谢。我试试这个。真的很感激这个正则表达式有问题。如果输入以非单词字符开头,则整个正则表达式将失败。它还只能处理单词之间的空格字符,并且在超过第一个单词的任何单词之间至少需要一个空格字符,这将使正则表达式在任何标点或连字符处都失败。考虑到OP在第一次尝试使用
[\s\r\n]*
时已经尝试解释换行,对于没有标点符号的文本来说,150个单词是非常多的,我认为有理由期待他会想要处理标点符号。。。在OP没有进一步规定对预期输入的限制的情况下,上下文成为IMO的规则。在这里,上下文至少是一个段落的上下文;在IRL中,标点符号可以出现在段落中,也可以出现在段落中,因此,在OP拒绝承认之前,这是这里的预期。因此,我认为您的解决方案不合理(尚未)。非常感谢。我的意思是,使用正则表达式的用户不应该写超过150个单词。我想将此有效设置为表单上的文本区域。我试试这个。真的很感激这个正则表达式会有问题。。。因为这是基于分隔符(空格)字符而不是单词,所以这会将松散的非空格字符(如标点符号)计为单词,并将连字符合并为单个单词。
^\w+(?:\s+\w+){0,149}$