2014-03-26 81 views
-2

请向我解释了以下两个正则表达式之间差异正则表达式之间。*和+

1).*

2).+

区别在它应用到我的文本文档,我发现第一个只突出了第一行,第二个突出显示了整个文件,除了回车。这是为什么?

+0

是你使用的是哪个编辑器,表现得像是什么?它似乎不正确 – Gareth

+0

我使用http://www.regexr.com/。将文本粘贴到文本框中并进行测试。 –

回答

1
  • .* - “any”字符串,包括空字符串(受DOTALL模式限制,请参见下文)。

  • .+ - “any”非空字符串(受DOTALL模式限制)。


.意味着 “任何字符”(或 “的任何非断行字符”,见下文)。

*表示“零次或多次”。

+表示“一次或多次”。


注意,.(点)可以为“任何文字”(上DOTALL模式)或“任何非断行字符”(DOTALL模式关闭)来处理。

更多点:http://www.regular-expressions.info/dot.html

更多关于重复:http://www.regular-expressions.info/repeat.html

2

.* =任意字符,0或更多次

.+ =任何字符,1次或多次


您还没有指定您所使用的软件正则表达式的味道或片。

如果您有任何匹配新线的麻烦,你可以尝试

(?:[\r\n]|.)+ 

一些香精/工具将允许你使用“修饰”,它具有.匹配换行符

+0

因为在这两种情况下,我们有奢侈品或超过1个,所以不应该在第一种情况下突出显示全文文档。 –

相关问题