我知道这似乎有些冗余,但我想要一个可以匹配任何内容的正则表达式。
目前我们正在使用^*$
,但无论文本是什么,它似乎都无法匹配。
我会手动检查是否没有文本,但我们使用的测试视图始终使用正则表达式进行验证。然而,有时我们需要使用正则表达式来验证任何东西。即不管文本框中有什么内容,都可以。
实际上我并不制作正则表达式,而且我对它们是一个完全的初学者。
我知道这似乎有些冗余,但我想要一个可以匹配任何内容的正则表达式。
目前我们正在使用^*$
,但无论文本是什么,它似乎都无法匹配。
我会手动检查是否没有文本,但我们使用的测试视图始终使用正则表达式进行验证。然而,有时我们需要使用正则表达式来验证任何东西。即不管文本框中有什么内容,都可以。
实际上我并不制作正则表达式,而且我对它们是一个完全的初学者。
.*
匹配任何字符(包括空字符串,正如 Junuxx 指出的那样)。[\s\S]+
[\s\S]
匹配空格字符(包括换行符字符)或非空格字符中的一个字符。由于所有字符都是空格或非空格,因此该字符类匹配任何字符。 +
匹配前面表达式的一个或多个。[^]+
。 - Andre Nuechter[\s\S]+
可以工作。在 JavaScript 中 .*
无法工作。 - Rami Sedhom^
表示行首的锚点,因此它将是一个“零宽度匹配”,意味着它不会匹配任何实际字符(并且在^
之后匹配的第一个字符将是字符串的第一个字符)。同样,$
是行尾锚点。
*
是一个量词。它本身不会匹配任何内容;它只表示一个模式部分可以匹配多少次。具体来说,它表示前面的“原子”(即前面的字符或前面的括号子模式)可以匹配任意数量的次数。
要实际匹配一些字符集,您需要使用字符类。正如RichieHindle所指出的,您在这里需要使用的字符类是.
,它代表除换行符外的任何字符(并且可以使用适当的标志使其匹配换行符)。因此,.*
表示*
(任意数量)匹配.
(任何字符)。同样,.+
表示+
(至少一个)匹配.
(任何字符)。