Экранированные круглые скобки (\(
) делают поиск регулярных выражений круглыми скобками как частью выражения.
Неэкранированные круглые скобки ((
) заставляют регулярное выражение группировать содержимое скобок.
Другими словами, если вы избегаете их, механизм ищет их , но если вы оставляете их как есть, они заставляют механизм группировать результаты в переменные.
Примерпродемонстрировать:
$myString = "junk(150)moar";
Чтобы получить только число:
#^\w+\((\d+)\)\w+$#
($1
is 150
)
Это беспорядок, я знаю, но он демонстрирует использование группировки скобок и скобок в качестве части соответствующего выражения .
Обновить годы спустя:
Поскольку пользователь @ bmk правильно указывает , этот ответ применяется к расширенным регулярным выражениям, но не к основным регулярным выражениям.Трудно найти базовые регулярные выражения в качестве механизма синтаксического анализа по умолчанию в большинстве языков программирования и т. Д., Но было бы разумно проверить, какой механизм вы используете, прежде чем предполагать, что этот ответ будет применяться в вашей ситуации.