23

我知道这似乎有点多余,但我想要一个正则表达式来匹配任何东西。

目前我们正在使用^*$,但无论文本如何,它似乎都不匹配。

我手动检查没有文本,但我们使用的测试视图始终使用正则表达式进行验证。但是,有时我们需要它来使用正则表达式验证任何内容。即文本字段中的内容无关紧要,它可以是任何内容。

我实际上并没有生成正则表达式,而且我是他们的初学者。

4

4 回答 4

35

正则表达式.*将匹配任何内容(包括空字符串,正如 Junuxx 指出的那样)。

于 2013-03-19T09:54:35.957 回答
28

选择的答案略有错误,因为它不会匹配换行符或返回。如果您想要的选择包括任何换行符,则此正则表达式匹配任何内容都很有用:

[\s\S]+

[\s\S]匹配空白字符(包括换行符)或非空白字符的字符。由于所有字符都是空格或非空格,因此此字符类匹配任何字符。+匹配一个或多个前面的表达式

于 2017-01-25T00:20:26.333 回答
8

^是行首锚点,因此它将是“零宽度匹配”,这意味着它不会匹配任何实际字符(并且在 之后匹配的^第一个字符将是字符串的第一个字符)。同样,$是行尾锚。

*是一个量词它本身不会匹配任何东西;它仅指示模式的一部分可以匹配多少次。具体来说,它表示前一个“原子”(即前一个字符或前一个带括号的子模式)可以匹配任意次数。

要实际匹配某些字符集,您需要使用字符类。正如 RichieHindle 所指出的,您在这里需要的字符类是.,它表示除换行符以外的任何字符(也可以使用适当的标志来匹配换行符)。所以.*代表*(任何数字)匹配.(任何字符)。类似地,.+表示+(至少一个)匹配.(任何字符)。

于 2013-03-21T23:16:59.933 回答
1

我知道这是一个有点旧的帖子,但我们可以有不同的方式,比如:

  1. .*
  2. (.*?)
于 2016-06-09T08:53:27.750 回答