【发布时间】:2014-06-28 15:27:13
【问题描述】:
我是“正则表达式”的新手。这个问题是对 java 中正则表达式的培训和教育。
我尝试从字符串中删除前导换行符。(我知道我们可以通过 'trim()' 来做到这一点,但我不想使用它)。我使用 '^[\r\n]+'作为正则表达式,像这样:
str = "\r\n\r\ntest";
str.replaceAll("^[\r\n]+", "");
System.out.print(str);
我猜结果会是
测试
但结果是:
CRLF
CRLF
test
如您所见,前导新行字符不会被删除。我也尝试将 '^\s' 或 '^\s+' 作为正则表达式,但结果相同。你知道为什么这些正则表达式与前导新行不匹配吗字符?
【问题讨论】:
-
我对 java 了解不多,但这里有一个通用的解决方案:regex101.com/r/sP3wW6