найти и заменить regex [duplicate]

Нет никакой разницы. Ваши измерения в первом случае ошибочны.

  • Первый блок времени включает в себя время инициализации контекста, время распределения исполнителей и совокупность других второстепенных задач.
  • Второй

Если вы отмените порядок, вы увидите, что тайминги будут противоположными, а sql будет быстрее, чем table.

Вы также можете увидеть некоторые улучшения производительности при повторном выполнении в результате некоторых JVM и оптимизации системы.

Если вы хотите получить надежные оценки, запустите программу для каждого сценария отдельно и повторите тайминги несколько раз с помощью timeit.

11
задан Jonathan Gallagher 18 April 2014 в 16:15
поделиться

2 ответа

Оберните значение с помощью ( ), чтобы записать его как группу, поэтому вы можете использовать его в своей замене

. Так что измените ваше регулярное выражение следующим образом:

\\command\{([a-zA-Z]*)\}

и вы должны делать все правильно.

11
ответ дан Amit Joki 27 August 2018 в 05:05
поделиться

Вот цитата непосредственно из документации:

Строка \1 ссылается на первый поднабор, заключенный в круглые скобки

Поэтому вам нужно поместить [a-zA-Z]* в группу захвата, например ([a-zA-Z]*).

Find: \\command\{([a-zA-Z]*)\}
Replace: \\disobey\{\1\}
14
ответ дан The Guy with The Hat 27 August 2018 в 05:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: