Объединение регулярных выражений в Java - PullRequest
0 голосов
/ 10 ноября 2011

Что делать, если я хочу написать регулярное выражение, которое говорит о совпадении [^ некоторый шаблон] && [не этот шаблон].Поэтому я хочу, чтобы он соответствовал некоторому шаблону, но не шаблону [^ \. \.] (Не двойная точка) на английском языке

Например:

он не должен совпадать:

.. / .. /

но оно должно совпадать

эй /../

1 Ответ

0 голосов
/ 10 ноября 2011

Вы можете использовать отрицательное прогнозное утверждение :

^(?!excludepattern)includepattern

будет соответствовать includepattern, если оно также не будет соответствовать excludepattern.

Например,

^(?!\.\.)([\w.,]+/)+$

будет соответствовать любой последовательности букв, цифр, подчеркивания, точки или запятой, разделенных косой чертой, если только он не начинается с .. (как в вашем примере).

Чтобы ответить на ваш комментарий (насколько я понимаю), попробуйте это:

^(?!.*\.\.)[\w.]*$

Это будет соответствовать строке, которая полностью состоит из буквенно-цифровых символов или точек, но нигде не содержит двух точек подряд. Это также соответствует пустой строке.

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