我有要求从已编号的段落移除缩进。我目前使用一些正则表达式和一些代码来做到这一点,但是想用一个或多个正则表达式来完成它。该段看起来像这样:去除缩进的正则表达式
1. THE FIRST LINE OF THE PARAGRAPH
ANOTHER LINE IN THE PARAGRAPH
AN INDENTED LINE WITHIN THE PARAGRAPH
这需要被变换以保持段内的缩进,但是作为由第一行的缩进测量移除整个段落的缩进。
THE FIRST LINE OF THE PARAGRAPH
ANOTHER LINE IN THE PARAGRAPH
AN INDENTED LINE WITHIN THE PARAGRAPH
以下正则表达式通过用空字符串替换匹配来完成任务。 (注意,没有标签有望在这个内容,只是空格):
(\A *\d+\. *|^ {0,5})
但它要求的字符的缩进长度明确设置。我想要一个通用的方法来处理任何缩进长度。关于一个或多个正则表达式(累积应用)如何实现这一点的任何想法?
我正在使用启用了多行模式的.NET正则表达式引擎。
表达式的右侧|匹配从行首开始的0到9个空格。我想你也许没有看到这个空间?您的表达式会删除每行之前的所有空格,但不会保留第三行的缩进。尽管感谢您的帮助。 – user3565980 2015-01-19 20:36:52
我刚刚意识到我的解决方案使用'9'的字面值并不是我的意图 - 应该是'4'。为了清晰我纠正了这一点。 – user3565980 2015-01-19 20:41:37
啊哈,我看到了麻烦 - 当我们在一个非编号的线上遇到一场比赛时,我们不知道要移除多少空间(基于较早的比赛)。我不明白只有正则表达式才有可能。 – 2015-01-19 20:43:10