Примерно так:
Hi *\([^)]*\)
[...]
обозначает класс символов , соответствует любому одному символу , содержащемуся в скобках. Начальный ^
внутри скобок создает класс, который соответствует любому , кроме , что указано в скобках. Следовательно, [^)]
будет соответствовать любому символу, кроме )
, а следующий *
количественно определяет любое количество символов, отличных от )
.
В диалектах регулярных выражений, которые поддерживают нежадную модификацию квантификаторы, вы можете сделать то же самое, используя .*?
:
.*
будет соответствовать как можно большему количеству совпадений, в то же время позволяя совпадать остальной части шаблона. .*?
будет соответствовать little , насколько это возможно, при этом оставшаяся часть шаблона будет соответствовать.
Hi *\(.*?\)
В этом выражении .*?
не может соответствовать )
, потому что это не будет соответствовать как можно меньше, учитывая, что в шаблоне следует только )
.