Используя границу слова, как сопоставить строку чисел, если перед числами нет точки? - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь сопоставить набор чисел, которые относятся к пунктам.Элементы могут быть разделены переводом строки, запятой, двоеточием, тире или пробелом.Элементы не были бы разделены точкой или знаком @.

Мы использовали \b для обозначения начала элементов, но обнаружили, что это захватывает все виды нежелательных совпадений, таких как reallythisurl@6001999 и reallythis.6001999

Мы пробовали использовать отрицательный прогноз: \b(?!\.)(601999) \b(?!\@)(601999)

Но это не остановило совпадения чисел, которые пришли после периода или @

1 Ответ

0 голосов
/ 18 июня 2019

Просто добавьте отрицательный вид сзади: (?<![@.])\b\d+

(?<![@.]) - гарантирует, что то, что предшествует, не @ или .

\b - слово boudnary

\d+ - одна или несколько цифр

Демо

...