Regex получить конкретное слово в скобках - PullRequest
0 голосов
/ 07 марта 2019

У меня есть этот текст:

Длинное копье ближнего боя (10 футов, ловкость) +17, урон 2d8 + 7, пронзительный в пределах досягаемости. (Достичь)

И я хочу заменить все слова в скобках на KK:

Длинное копье ближнего боя (KK 10 футов, ловкость) +17, урон 2d8 + 7 пробивание в пределах досягаемости. (КК)

Я пробовал некоторые выражения регулярных выражений, но ни одно из них не работает. Любая идея? (Работаю с php)

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Вы можете использовать группу захвата и заменить ее, например, следующим регулярным выражением:

\(.*?(reach).*?\)

создаст группы захвата, каждая из которых содержит один экземпляр слова, которое вы хотите заменить

0 голосов
/ 07 марта 2019

Пока у вас нет вложенных / несбалансированных скобок в тексте, вы можете использовать это регулярное выражение для соответствия reach только внутри скобок и заменить на KK

reach(?=[^()]*\))

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...