正则表达式匹配所有内容

4

我正在使用以下正则表达式匹配所有内容:

/^(?=.{10,8000}$).*$/

但是现在我才意识到.*不能匹配换行符。我该怎么让这个正则表达式匹配换行符?

将多行和全局标志添加到正则表达式结构中。var regex = new RegExp("^(?=.{10,8000}$).*$", "gim") - catalin.costache
2
使用{,}重复规则和匹配换行符可能会有些棘手。在你的平台上,一行换行符有多少个字符?在我的平台上呢? - Frédéric Hamidi
我将按照10,8000重复规则留下一个补偿,如10,7950。这样它就不会在数据库中抛出异常。谢谢。 - user989818
@myself 你为什么要使用正则表达式呢?这完全没有任何意义。 - FailedDev
5个回答

7
所有的空白字符和非空白字符组合在一起就是所有字符:[\S\s]
/^(?=[\S\s]{10,8000})[\S\s]*$/

@myself 实际上是有的。虽然我一般不知道你为什么需要使用正则表达式来完成这个任务。 - FailedDev

1
var filter =  /.*/gim;

那将匹配多行中的所有内容。


/.*/gim.exec("a\nb") 只有在我将其插入到 devtools 或 nodejs-repl 中时才匹配 a - adabru

1

我认为这非常简单,只需要使用/.*/。其中"."代表任何字符,"*"允许该字符的任意重复。


0

1. 使用这个

 var filter = /[\w|\W]*/gim;

虽然这段代码可能回答了问题,但提供有关它如何以及/或为什么解决问题的附加上下文将改善答案的长期价值。 - Badacadabra

0

你为什么要使用正则表达式?

var txt = "Hello World!";
if(length(txt) >= 10 && length(txt) <= 8000) {//match}

3
兄弟,嘿嘿,我们已经在这里见面了,那是因为我不想不礼貌。我的项目有一个验证层,被JavaScript和C#共用。所有字段都有一个缩写来确定使用哪种模式进行验证。该层很好地工作,保持客户端、服务器端和数据库中的验证一致性。该层只使用正则表达式进行验证,这就是为什么我不需要做这个(也没有计划扩展或重构此层,因为我的问题很简单,仍适合该层)。 - user989818

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接