preg\u match不能正常工作!?[英] preg_match doesn't work properly!?

问题描述

我可能发现 preg_match 的工作方式存在问题,尽管我不是
当然.
假设您有一个要匹配字符串的正则表达式
数字.你可以这样写代码:
preg_match( ''/^[0-9]+$/'', $TestString );

好吧,一切似乎都很好.但是,你知道如果你通过了
在 preg_match 之后:"12345\n"它会返回一个匹配
发生了?!?即使换行符不是我们的有效字符
正则表达式.

这是测试程序,*请按如下所示运行程序*:

<?php
$TestString = "12345\n";
打印 preg_match( ''/^[0-9]+$/'', $TestString );
?>

你会发现它打印 1 即使换行符不是a
我们正则表达式的有效部分.我想知道还有哪些角色
可以放在正则表达式中并让字符串匹配!?任意
对此有何想法?为什么 PHP 中会出现这种未记录的行为?!?
正则表达式似乎无法按预期或记录在案
就像 PHP 中一个非常严重的错误.我觉得没有问题
使用正则表达式.

想法?

推荐答案

/'',

TestString );

好吧,一切似乎都很好.但是,你知道如果你通过了
在 preg_match 之后:"12345\n"它会返回一个匹配
发生了?!?即使换行符不是我们的有效字符
正则表达式.

这是测试程序,*请按如下所示运行程序*:

<?php

TestString = "12345\n";
print preg_match(''/^[0-9]+

本文地址:https://www.itbaoku.cn/post/1050807.html