Все в []
соответствует только одному символу.Таким образом, вы можете написать [aeiou]
, чтобы соответствовать любой строчной гласной, или [a-m]
, чтобы соответствовать любой букве в первой половине алфавита.Поскольку это всего лишь один символ, вам может понадобиться использовать его в сочетании с +
или *
, если вы хотите использовать несколько символов.Например,
f[aeiou]t
соответствует fat
, но не feet
, тогда как f[aeiou]*t
соответствует fat
, foot
, feet
и даже ft
.
С другой стороны, что-то в ()
соответствует такому количеству символов, как без скобок.Вы используете ()
, если хотите работать с какой-то частью регулярного выражения.Например, ba(na)*
соответствует ba
и banana
и даже banananana
, потому что *
(что означает любое количество вхождений того, что находится непосредственно перед ним) действует в целом na
.Кроме того, если вы собираетесь выполнять замену на основе регулярных выражений, когда вы заменяете некоторую часть соответствия новой строкой, ()
может использоваться для определения того, что будет заменено - например, вы можете заменитькакая часть вашей строки соответствует 4-му выражению в скобках.