2016-05-05 2 views
2

Привет Я пытаюсь использовать регулярное выражение для замены «/» на «/ n:». Проблема, с которой я сталкиваюсь, заключается в том, что я хочу, чтобы это произошло, за исключением того, что за «/» следует «@», поэтому «/ @».Regex соответствует тире, за которым не следует символ «@»

У меня был шаблон, подобный этому "// [^ @] /", и пока он получает значение «/», игнорируя любой «/ @», он также соответствует следующей букве. Мне просто нужно сопоставить «/». Может ли кто-нибудь помочь с этой благодарностью.

Edit: Добавлен пример строки

/module/y-version/@value 
+0

добавить свой пример строки .... –

ответ

3

Вы можете использовать negative lookahead:

'~/([email protected])~' 

Смотрите regex demo

[^@] является negated character class, и является потребляя шаблон, в то время как просмотр будет проверять только текст справа от текущее местоположение в строке и выйдет из строя, если шаблон lookahead найдет совпадение.

+1

Это именно тот ответ, который мне очень понравился! – olliejjc16

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