正则表达式,只返回输入字符串

时间:2014-04-14 20:00:00

标签: regex

我意识到这是一个愚蠢的问题,但我需要一个正则表达式,只返回传递给它的任何内容。

因此,例如,如果输入字符串是ABC123,我希望正则表达式返回ABC123。

原因是我需要一个"赶上所有"情况。我在数据库中存储了一组正则表达式(每个客户一个或多个);但是有些客户不需要任何输入字符串解析...我只想使用他们传入的匹配文本。

3 个答案:

答案 0 :(得分:1)

[\s\S]*

这将捕获所有字符。

答案 1 :(得分:0)

您可以搜索空格,也可以不重复任何空白组。 例如:

[\s\S]*

[\s.]*

见底部 http://www.regular-expressions.info/dot.html

答案 2 :(得分:0)

由于没人说,我会继续。保持简单并使用.*。根据您的正则表达式风格,.可能匹配新行。但是,应该有一个modifier。例如,在PHP中,s修饰符使点匹配新行。在Ruby中,默认情况下会出现此行为。

<?hp
preg_match('/.*/s', "ABC\n123", $matches);

var_dump($matches);
// array(1) { [0]=> string(7) "ABC\n123" }

你也可以看到其他民族&#39;使用像[\s\S]*这样的字符类的示例。但是我假设一个字符类将花费(最小)解析而不是.

  

(?s)用于&#34;单线模式&#34;使点匹配所有字符,包括换行符。 Ruby或JavaScript不支持。在Tcl中,(?s)也只在字符串的开头和结尾处使插入符号和美元匹配。