链接:http://regexone.com/example/5
它要求:编写一个简单的正则表达式来捕获每一行的内容,而不需要额外的空格。
我所拥有的是一堆乱七八糟的\ S +,有没有一种优雅的方法来解决这个问题?
答案 0 :(得分:7)
编写正则表达式可能看起来像黑色艺术,但它实际上非常简单;最重要的一步是准确地识别出你所做和不想匹配的手术精确度,然后说出你的意思(不多也不少)。
另一个提示:当使用*
或+
限定符时,特别是使用“{1}}等”通配符“字符时,请始终记住正则表达式的一部分可能”跑过“您所在的部分想匹配,也许匹配整个字符串。通常,最简单的解决方案是使用不情愿的限定符,例如.
或*?
。 (最常见的正则表达式错误是那些使正则表达式与匹配的错误,当你不希望它或而不是你希望时。)
在这种情况下,您需要“每行的内容,没有额外的空格”。这不够精确。什么是“额外的空白”?尾随和领先的空白?如果是的话......
让我们以完全精确,非模糊的术语表达。你基本上拥有的是:
你能表达为正则表达式吗?尝试这样做并在此发布,然后我会给你一些反馈。