Таким образом, пользователь может искать «10 мбит», после чего я хочу захватить «10», чтобы я мог использовать его для быстрого поиска, а не для поиска строк.Это не проблема, приведенное ниже регулярное выражение делает это нормально:
if (preg_match("/(\d+)\smbit/", $string)){ ... }
Но пользователь может искать что-то вроде «10/10 мбит» или «10-100 мбит».Я не хочу сопоставлять те с приведенным выше регулярным выражением - они должны обрабатываться по-другому.Поэтому я хотел бы получить регулярное выражение, которое соответствует «10 мбит», если число полностью числовое как целое слово (то есть содержит пробел, символ новой строки или lineend / linestart)
Используя lookbehind, я сделал это:*
if (preg_match("#(?<!/)(\d+)\s+mbit#i", $string)){
Просто чтобы поймать тех, у кого нет «/» перед ними, но это соответствует действительности для этой строки: «10/10 мбит», так что я, очевидно, что-то делаю не так, но что?