Группа совпадений недоступна в выражении соответствия [дубликат]

Прежде всего,

У вас может быть много параметров для функции mail () ... У вас может быть 5 макс. mail(to,subject,message,headers,parameters); Что касается переменной $from, которая должна автоматически поступать с вашего веб-хостинга, если вы используете linux cPanel. Он автоматически исходит из вашего имени пользователя и ip-адреса cPanel.

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: yoursite.com'; 
$to = 'contact@yoursite.com'; 
$subject = 'Customer Inquiry';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";

Также убедитесь, что у вас есть правильный порядок переменных в вашей функции mail (). mail($to,$subject,$message,etc.) в этом порядке, иначе есть шанс, что он не сработает. Дайте мне знать, если это поможет ...

2
задан Suma 22 March 2016 в 14:11
поделиться

1 ответ

Когда вы определяете шаблон Scala, он привязывается по умолчанию (= требуется полное совпадение строк), в то время как ваша Java sj.find() ищет соответствие в любом месте внутри строки. Добавьте .unanchored для регулярного выражения Scala, чтобы также разрешить частичные совпадения:

val statePattern = statePatternString.r.unanchored
                                       ^^^^^^^^^^^

См. Демонстрация IDEONE

Некоторая ссылка UnanchoredRegex :

def unanchored: UnanchoredRegex

Создайте новое Regex с тем же шаблоном, но не нужно, чтобы целая строка соответствовала в экстракторе шаблоны.

Обычно совпадение по дате ведет себя так, как если бы шаблон был заключен в якоря, ^pattern$.

Неучтенное Regex ведет себя так, как будто эти якоря были удалены.

Обратите внимание, что этот метод фактически не лишает никаких шаблонов шаблона.

ANTERNATIVE SOLUTION означало бы добавление .* на конец шаблона, но помните, что точка не по умолчанию соответствует новой строке. Если решение должно быть общим, модификатор (?s) DOTALL должен быть указан в начале шаблона, чтобы убедиться, что вся строка с потенциальными последовательностями новой строки согласована.

5
ответ дан Wiktor Stribiżew 23 August 2018 в 01:02
поделиться
  • 1
    Большое спасибо, это имеет смысл. Альтернативное решение (которое я предпочитаю в моем случае), чтобы оно содержало. * В конце, чтобы соответствовать остальной части строки. – Suma 22 March 2016 в 14:16
  • 2
    Да, это почти эквивалентно. Если вы используете .*, не забудьте добавить (?s) модификатор DOTALL при запуске шаблона, чтобы . мог соответствовать новой строке (в случае, если строка имеет символы новой строки). Тогда это будет общее решение. Я добавил эту заметку к ответу. – Wiktor Stribiżew 22 March 2016 в 14:25
  • 3
    В моем случае я сопоставляюсь с URL-адресом, поэтому для меня нет новых строк, но хорошо упомянуть об этом для полноты. – Suma 22 March 2016 в 14:47
Другие вопросы по тегам:

Похожие вопросы: