Java регулярное выражение: сопоставить ввод, начинающийся с нечисловой или пустой строки, за которой следует определенный шаблон - PullRequest
0 голосов
/ 28 января 2011

Я использую регулярные выражения Java для сопоставления и захвата строки, такой как:

0::10000

Решение будет:

(0::\d{1,8})

Однако совпадение будет успешным для входа

10::10000

, что неверно.Поэтому у меня теперь есть:

[^\d](0::\d{1,8})

, что означает, что он должен начинаться с любого символа, кроме числа, но это означает, что перед символом должен быть некоторый первый ноль.Что я действительно хочу (и в чем мне нужна помощь), так это сказать «привести с не числом или вообще с ничем».

В заключение, окончательное решение, регулярное выражение должно соответствовать следующие:

0::10000<br/>kjkj0::10000

и не должны соответствовать следующим:

10::10000

Этот сайт может пригодиться, если кто-то хочет помочь.

Спасибо.

1 Ответ

4 голосов
/ 28 января 2011

Вам нужен негативный взгляд:

(?<!\d)(0::\d{1,8})

Это означает «совпадение 0::\d{1,8}, которому не предшествует \d».

...