为什么" \ s | \ t |(\ r?\ n)"抓住单一的白色空间" ",但"(\ r?\ n)| \ s | \ t"才不是?

时间:2017-10-02 15:44:06

标签: c# regex

为什么\s|\t|(\r ?\n)会抓住单个空格,但(\r ?\n)|\s |\t却没有?{/ p>

我正在测试任何空格,制表符或新行的GUI文本输入,并注意到了这一点。

如果它有所作为,我正在https://regexr.com/进行测试。

2 个答案:

答案 0 :(得分:4)

\s匹配空格字符。在第一个示例中,您的模式只有|\s| *,但在第二个示例中,您有|\s | *(在空白之后有空格)。所以第二种模式需要两个空格才能匹配。

*我添加了垂直条以帮助显示额外的空白。所以没有跟随它的东西就放弃了这个空间

答案 1 :(得分:-3)

AH间距很重要。字符是有效的标记。

(\r?\n)|\s|\t = / = (\r ?\n)|\s |\t