У меня есть следующее регулярное выражение, которое я использую для сопоставления с различными номерами кредитных карт в строке поиска файлов. Однако если до или после сопоставления есть пробел, сопоставление завершится неудачей.
$CC_Regex = "^(\d{4}-){3}\d{4}$|^(\d{4} ){3}\d{4}$|^\d{16}$"
Например, он будет соответствовать первым трем, но не будет соответствовать трем нижним.
1111-2323-2312-3434
1234343425262837
1111 2323 2312 3434
1111-2323-2312-3434
1234343425262837
1111 2323 2312 3434
Из трех нижних, первый имеет пробел в конце, второй - перед ним, а третий - до и после него.
Заранее спасибо за помощь.