Мне нужно написать RegEx, чтобы соответствовать строке «1-234-5678», если вокруг нее нет тире символов.RegEx, соответствующий автономной строке с дефисами
У меня есть следующий RegEx:
\b\d\-\d{3}\-\d{4}\b
Теперь это работает отлично и матчи "1-234-5678" правильно в приведенных ниже строках:
- текста 1-234-5678 текста
- 111 1-234-5678 1212
Регулярное выражение также правильно НЕ соответствует "1-234-5678" в приведенных ниже строках:
- text1-234-5678text
- 1111-234-56781212
Но проблема в том, что она также соответствует в следующих строках:
- текст-1-234- 5678-текст
- 111-1-234-5678-1212
Это потому, что \b
соответствует до и после тире.
Как я могу устранить совпадения, если есть тире спереди или после данных?
Заменить '\ b' с' \ s'? – mishik
Это означает, что перед ним должно быть пространство и после него, и пространство будет частью матча. Нехорошее решение. – Daniel
?: \ S можно использовать. – vks