У регулярного выражения для строки есть условие до и после строки - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу создать регулярное выражение со строкой, которая раньше была " " или ".", и использовать ее в replaceAll в Java.

Пример:

LLS.LLS kLLS LLS

Я используюрегулярное выражение \bLLS\b.

Результат, который я хочу получить: LLS.

Но если я хочу найти строку "/LLS", регулярное выражение не выполняется.

Пример:\b/LLS\bНайти в строке: BBA /LLS CCA

Можете ли вы помочь мне найти регулярное выражение?Спасибо

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Вы можете использовать положительный взгляд вперед и взгляд сзади, чтобы утверждать, что слева, и Rigt является либо пробелом, либо точкой в ​​классе символов .:

(?<=[ .])/?LLS(?=[ .])

В Java:

String regex = "(?<=[ .])/?LLS(?=[ .])";

Regex demo

0 голосов
/ 20 февраля 2019

Вам нужно удалить первый \ b, вам не нужно устанавливать границу слова в начале

\/LLS\b

Вы также можете сделать / необязательным с?для соответствия как LLS, так и / LLS, например,

\/?LLS\b

Вот пример https://regexr.com/48p5e

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