Я фильтровальная некоторые сообщения в JavaScript и мне нужно выбрать последний квадрат значение кронштейна (включая квадратные скобки [
и ]
) и заменить его :
.Регулярного выражения: Совпадение только последние квадратные скобки
В качестве примера:
[World] [anything] [any] steamName
[characterName]:message
Wanna изменение:
[World] [anything] [any] steamName: message
Это [characterName]:
то, что я хочу быть reclaced на :
I» ve проверили следующие регулярные выражения:
Это не работает с пространством в середине имени.
\[(\S*?)\]:
(link to regexr.com)
Это один работает только тогда, когда существует только один [squareBracket] с пробелом перед ним, как вы можете увидеть в ссылке.
\[(.*?)\]:
(link to regexr.com)
мне нужно как смесь между двумя, которая работает в каждом конкретном случае.
Я хотел бы, чтобы вы предоставить мне регулярному_выражение Я ищу с ссылкой на regexr.com со следующими случаями (соответствие сильных слов), чтобы доказать, что он работает:
Hi!I'm a Player!1
[Привет я! «м игрока 1]:message
[VIP] [Admin] Hi!I'm admin
[Привет Я админ]:message
[VIP] Player
[Player]:message
[VIP] [any] Player
[(# @ # игрока 123!)]:some message
[VIP] [any] 3number2
[121223]:message
[Area] [bla] [bla] anyth1ng
[[[[[[((что-то #]]]:message message message
I подумайте, что важно добавить, что перед двоеточием всегда будет квадратная скобка: [this]:
, вот что я хочу, чтобы она соответствовала замене.
Надеюсь, я был достаточно ясен. Не стесняйтесь задавать любые вопросы.
Ваш последний случай: будет открытия/закрытия скобки всегда быть соединены друг с другом или они могут быть в высшей степени неоднозначным. Если последнее, как определить, что именно принадлежит внутри и что извне? –
Является последним '[]' всегда следуют ':'? (Если да, см. Ответ @ Maslo) – BrunoLM
Почему отрицательный? Наверное, я не понял в своем вопросе? Надеюсь, я должен его улучшить? –