Я не думаю, что "BRE vs. ERE" - это очень полезное различие в наши дни. Есть еще много инструментов, основанных на ERE, таких как awk и gnu grep, а также поддержка регулярных выражений в базах данных, таких как MySQL и Oracle, но BRE - это практически сноска.
Более того, возможности regex, встроенные в большинство современных языков программирования, выходят далеко за рамки ERE с точки зрения возможностей. Даже JavaScript, наименее мощный из всех, поддерживает группы без захвата, неохотные квантификаторы и средства прогнозирования. Вероятно, было бы более полезно классифицировать вкусы регулярных выражений как «ERE vs. ECMA +», но это намного больше, чем это.
Если вы программируете на Tcl, вы используете \y
и \m
для соответствия границ слова; в JavaScript вы учитесь любить [\s\S]
, потому что нет режима точка-совпадение-новая строка; в Visual Studio вы используете @
и #
вместо *?
и +?
для минимального соответствия. И хотя Java имеет совершенно современный вид регулярных выражений, в ней нет литералов регулярных выражений и неточечных / буквальных / дословных строковых обозначений, поэтому вы все равно ослепнете, глядя на все обратные косые черты.
На практике это не тот выбор, который вы должны сделать. После того, как вы решили, какой инструмент использовать, вы используете тот вкус, который он требует.
ref: Таблица сравнения вкусов