正则表达式 - 从行尾开始修剪空白

soj*_*jim 10 regex

链接:http://regexone.com/example/5

它要求:编写一个简单的正则表达式来捕获每一行的内容,而不需要额外的空格.

我所拥有的是一堆乱七八糟的\ S +,有没有一种优雅的方法来解决这个问题?

Ale*_*x D 7

编写正则表达式可能看起来像黑色艺术,但它实际上非常简单; 最重要的一步是准确地识别出你所做和不想匹配的手术精确度,然后说出你的意思(不多也不少).

另一个提示:当使用*+限定符时,尤其是"通配符"字符时.,请始终记住正则表达式的一部分可能"跑过"您想要匹配的部分,可能与整个字符串匹配.通常,最简单的解决方案是使用类似*?+?不相同的不情愿的限定符.(最常见的正则表达式错误是当你不希望它你想要的时候使正则表达式匹配的错误.)

在这种情况下,您需要"每行的内容,没有额外的空格".这不够精确.什么是"额外的空白"?尾随和领先的空白?如果是这样...

让我们以完全精确,非模糊的术语表达.你基本上拥有的是:

  1. 空白字符区域(可能为空)
  2. 要么:a)没什么.b)单个非空白字符.c)以非空白字符开头和结尾的区域.
  3. 空白字符区域(可能为空)

你能把它表达为正则表达式吗?尝试这样做并在此发布,然后我会给你一些反馈.