Регулярное выражение для замены слова, начиная с подстроки и заканчивая точкой или пробелом в Java - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно заменить #id в моей css String, скажем, у меня id как # id_123456 как id в моем css Мне нужно заменить его на # id_7891011. Я знаю, что мой идентификатор начинается с #id_ и может заканчиваться на ./space / + />. Я пытаюсь сделать регулярное выражение, чтобы заменить весь мой старый идентификатор новым идентификатором. Мое регулярное выражение выглядит так.

(.* ?)(#id_[a-zA-Z0-9 ]+[.^\S])(.*)

Оно работает для начального условия, но не заканчивается пробелом или точкой, оно заменяет всю строку. Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 18 июня 2020

Использовать опережающий просмотр:

#id_[a-zA-Z0-9\s]+(?=[.\s+>])
                  |_________|

См. proof . (?=[.\s+>]) гарантирует, что совпадение остановится перед . / whitespace / + / >.

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