Php 在字符串中检测@提及的问题
我有以下代码:Php 在字符串中检测@提及的问题,php,regex,Php,Regex,我有以下代码: $string = "Manual balls knit cardigan @120rb ORDER BB 28AFF6A6 atau 25AE5DB3 Phone 081298249949 atau 081310570229 Line indy2212 atau indy2281 FORMAT Nama Alamat Telp Kode barang"; if (preg_match('/(?<= )@([^@ ]+)/', $string
$string = "Manual balls knit cardigan @120rb
ORDER
BB 28AFF6A6 atau 25AE5DB3
Phone 081298249949 atau 081310570229
Line indy2212 atau indy2281
FORMAT
Nama
Alamat
Telp
Kode barang";
if (preg_match('/(?<= )@([^@ ]+)/', $string, $matches)) {
var_dump(count($matches));
var_dump('first ' . $matches[0]);
var_dump('second ' . $matches[1]);
}
我的问题是为什么?为什么它与字符串匹配两次?我的正则表达式有什么问题?将匹配项存储到作为第三个参数提供的数组中。在本例中,您的preg\u match()
语句如下所示:
preg_match('/(?<= )@([^@ ]+)/', $string, $matches);
代码:
if(preg_match_all)('/(?将匹配项存储到作为第三个参数提供的数组中。在这种情况下,preg_match()
语句如下所示:
preg_match('/(?<= )@([^@ ]+)/', $string, $matches);
代码:
if(preg_match_all)('/(?将匹配项存储到作为第三个参数提供的数组中。在这种情况下,preg_match()
语句如下所示:
preg_match('/(?<= )@([^@ ]+)/', $string, $matches);
代码:
if(preg_match_all)('/(?将匹配项存储到作为第三个参数提供的数组中。在这种情况下,preg_match()
语句如下所示:
preg_match('/(?<= )@([^@ ]+)/', $string, $matches);
代码:
if(preg_match_all)(“/”?第一个元素是整个匹配,aka$0,而第二个元素是第一个内存捕获,aka$1。[^@]
应该是[^@\b]
,以避免换行错误。第一个元素是整个匹配,aka$0,而第二个元素是第一个内存捕获,aka$1。[^@]
应该是[^@\b]
以避免换行错误。第一个元素是整个匹配,即$0,而第二个元素是第一个内存捕获,即$1。[^@]
应该是[^@\b]
以避免换行错误。第一个元素是整个匹配项,即$0,而第二个元素是第一个内存捕获项,即$1。[^@]
应该是[^@\b]
以避免换行错误。那么如何更改它,以便跟踪字符串中有多少次提到?@aditcount($matches[0])
@adit你能把你的string+regex发送到并发送一个永久链接吗(点击左边的软盘)?那么我该如何更改它,以便跟踪我的字符串中有多少提到?@aditcount($matches[0])
@adit你能把string+regex发送到并发送一个永久链接吗(点击左边的软盘)那么我如何更改它,以便跟踪我的字符串中有多少次提到?@aditcount($matches[0])
@adit你可以将字符串+正则表达式发送到并发送一个永久链接(单击左侧的软盘)?那么我如何更改它,以便跟踪我的字符串中有多少次提到?@aditcount($matches)[0])
@adit您能将字符串+正则表达式发送到并发送永久链接回吗(单击左侧的软盘)?