如何编写匹配任何字符串的正则表达式?

时间:2012-06-25 17:24:23

标签: javascript regex wildcard

是的,我知道这听起来违反直觉。但我需要它来为其他人编写的JavaScript mashup。有一个正则表达式值用于选择mashup将应用的项目名称。我希望它适用于所有项目。

4 个答案:

答案 0 :(得分:1)

好的,伙计们。我对正则表达式并不强烈,但我认为我想出了这一点。我只是使用以下正则表达式:

'.*'

这对我来说很好。点允许任何字符,星号允许它重复任意次。

如果有人知道如何将其限制为单行字符串(ASCII字符集),我会全力以赴。

答案 1 :(得分:1)

您的回答(.*)有效,默认情况下只会匹配一行。如果您希望它匹配多行,您可以在特定的正则表达式实现中启用多行模式,但默认情况下没有人启用它AFAIK。

答案 2 :(得分:1)

.*找到任何字符都是正确的,但例外是newline个字符('\ n'等)。您可以尝试分组。这个:(.*)应该适合你。如果您在访问匹配组时需要帮助,可以在此处找到更多信息:How do you access the matched groups in a JavaScript regular expression?

编辑:如果您使用的是JavaScript之外的其他内容,则实施可能会与多线模式和单线模式略有不同。 JavaScript本身没有单一模式。

答案 3 :(得分:1)

正如其他人所提到的,.与换行符不匹配。

如果你必须完全匹配包括\n在内的每个角色,那么你可以使用它来代替......

[\s\S]*

这是空白字符和非空白字符。换句话说,这将匹配所有内容。