以下正则表达式是用Python方言编写的:
^( )*#(\s+\S(.*\S)?)?$
有人能想出更好的办法吗?对于那些不确定它在说什么的人:
- 和整条线吻合。你知道吗
- 这些行以四个空格的任意倍数开始。你知道吗
- 这些空格后面有一个哈希标记。你知道吗
- 哈希标记后面要么是nothing,要么是以下内容:
- 哈希标记后面至少有一个空格字符。你知道吗
- 一个非空白字符位于这些字符之后。你知道吗
- 要么什么都没有,要么接下来是:
- 后跟任意数量的字符。你知道吗
- 最后一个字符是非空白字符。你知道吗
能不能再简化一下?你知道吗
^( )*#(\s.*\S)?$
Tags:
您可以始终使用^{} 标志并将您在此处给出的解释添加为注释。:)
重写regexp以增强可读性(减少连续空格计数的机会)的一种方法:
用@Noctis的话来说,它缩短了编译器调试输出。你知道吗
从
(\s+\S(.*\S)?)?
获取(\s.*\S)?
的过程\s+
=>;\s(\s)*
\S(.*\S)?
=>;\S
或\S.*\S
=>;(\S.*)?\S
(\s+\S(.*\S)?)?
=>;(\s(\s)*(\S.*)?\S)?
=>;(\s.*\S)?
因为(\s)*(\S.*)?
=>;.*
相关问题 更多 >
编程相关推荐