Я нашел это в некотором коде, который хотел оптимизировать.Вот фрагмент:
tempString = bigBuffer.replaceAll("\\n", "");
tempString = tempString.replaceAll("\\t", "");
Тогда я решил использовать регулярное выражение с умом и сделал это:
tempString = bigBuffer.replaceAll("[\\n\\t]", "");
Тогда друг сказал мне сделать это вместо:
tempString = bigBuffer.replaceAll("\\n|\\t", "");
Поскольку я хотел бы узнать результат своих изменений, я провел тест, чтобы проверить, была ли это хорошая оптимизация.Таким образом, результат с (версия Java "1.6.0_27") с первым кодом, являющимся ссылкой на 100%.
Для трубы это 121%, поэтому для выполнения задачи потребовалось больше времени.
Для квадратной скобки - 52%, поэтому для выполнения задачи потребовалось меньше времени.
Почему регулярное выражение ведет себя по-разному, где оно должно быть одинаковым?
Мартин