2013-09-18 2 views
0

Я пытаюсь соответствовать все, кроме значений мусора во всем шаблоне string.The Я пытаюсь использовать это:Как Java Regex, чтобы соответствовать все, кроме указанного шаблона

^.*(?!\w|\s|-|\.|[@:,]).*$ 

Я тестировал рисунок на regexPlanet и это, кажется, соответствие всей входного string.The строки я использовал был:

Vamsi///#[email protected]!!!l.com 123**5 

Как я могу получить его, чтобы соответствовать только все, кроме картины, я хотел бы заменить любую строку, которая соответствует с пустое место или специальный charecter по моему выбору.

+2

Что вы подразумеваете под значениями для мусора? –

+1

Ваш «узор» тоже странный. Кроме того, вам нужно удвоить ваши шаблоны на Java. – Jerry

ответ

3

Образец, как написано, должен соответствовать всей строке.

^ - начало строки.
.* - ноль или более любого персонажа.
(?!\w|\s|-|\.|[@:,]) - негативный внешний вид для некоторых персонажей.
.* - ноль или более любого персонажа.
$ - конец строки.

Если вы хотите, чтобы соответствовать символы, которые не один из поставляемых символов, попробуйте просто:

[^-\w\[email protected]:,] 

[^...] является инвертированный символьный класс, он будет соответствовать любым символам, не поставленные в скобках. См. this для получения дополнительной информации.

Test.

+0

спасибо, что объяснил, что я делаю неправильно ... это сработало. Я понятия не имел, что вы можете положить \ s \ w. И в []. – vamsiampolu

Смежные вопросы