Нет никакой разницы. Ваши измерения в первом случае ошибочны.
Если вы отмените порядок, вы увидите, что тайминги будут противоположными, а sql
будет быстрее, чем table
.
Вы также можете увидеть некоторые улучшения производительности при повторном выполнении в результате некоторых JVM и оптимизации системы.
Если вы хотите получить надежные оценки, запустите программу для каждого сценария отдельно и повторите тайминги несколько раз с помощью timeit
.
Оберните значение с помощью ( )
, чтобы записать его как группу, поэтому вы можете использовать его в своей замене
. Так что измените ваше регулярное выражение следующим образом:
\\command\{([a-zA-Z]*)\}
и вы должны делать все правильно.
Вот цитата непосредственно из документации:
Строка
blockquote>\1
ссылается на первый поднабор, заключенный в круглые скобкиПоэтому вам нужно поместить
[a-zA-Z]*
в группу захвата, например([a-zA-Z]*)
.Find: \\command\{([a-zA-Z]*)\} Replace: \\disobey\{\1\}