Если строка начинается с конкретных IP модели, и вы используете String#matches()
, просто добавьте границу слова после 10
и использовать .*
после него:
"(?s)\\d{1,3}\\.\\d{1,3}\\.(?:16|249)\\.10\\b.*"
(?s)
добавляется, чтобы убедиться, будет соответствовать всей строке, которая может содержать символы новой строки.
Вместо \b
вы можете использовать (?!\d)
("(?!\\d)"
), чтобы запретить соответствие IP-адреса, заканчивающиеся 100
, а не 10
.
ПРИМЕЧАНИЕ, что первая и вторая части (\\d{1,3}
) может быть повышена за счет замены их (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
и регулярное выражение будет выглядеть "(?s)(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:16|249)\\.10\\b.*"
.
Добавить '. *' После '10'? Как выглядит ваша строка? Как вы используете регулярное выражение? –
Возможно, вы хотите использовать лучшее регулярное выражение. https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html –
@Wiktor Stribizew, который сработал! Спасибо – Dominic