Как написать регулярное выражение в Java для соответствия текста в начале, за которым следует специальный символ? - PullRequest
0 голосов
/ 13 января 2020

Я хочу написать программу на java, чтобы проверить, начинается ли строка с указанного c текста, за которым следует "|"

Например,

String a ="pro";
String b ="pro|100";
String c ="pro|loc";
String d ="pro|book|I'd";

String text ="pro";

String reg ="^"+text+[|]*; //this does not seem to work

Регулярное выражение должно соответствовать всем a, b, c, d выше

1 Ответ

0 голосов
/ 13 января 2020

Похоже, вы ищете что-то вроде

String reg ="^" + Pattern.quote(text) +"($|[|].*)"; 

, вы можете удалить .*, если хотите использовать Matcher#find, или оставить его в случае Matcher#matches.

Pattern.quote генерирует регулярное выражение, которое представляет литерал , переданный в качестве аргумента. Например, если ваш text будет "a+b", он вернет регулярное выражение эквивалент в "a\\+b".

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