用于捕获字符串中特定字母数字模式的 RegEx
RegEx for capturing a specific alphanumeric pattern in a string
我想要这段代码 return Socket 模型。而不是 AM3+ returns 6300.
$string = "AMD FX X6 Six Core 6300, AM3+, 8MB L3 (BOX)Serie : FX,Socket : AM3+,Numar nuclee : 6,Frecventa : 3500 MHz,Frecventa Turbo : 4100 MHz";
preg_match('/[Socket]+[ : |:]+(?<socket>([A-Z]{2}+[0-9]{1}+[+]|[A-Z]{2}+[0-9]{1}|[A-Z]{3}+[ ]+[0-9]{4}|[0-9]{4}))/', $string, $array);
echo $array['socket'];
在这里,我们将简单地捕获套接字,然后是空格,:
,我们将捕获之后第一个逗号之前的内容,这是我们想要的输出 (.+?)
:
((Socket)\s+?:\s+?(.+?)),
测试
$re = '/((Socket)\s+?:\s+?(.+?)),/m';
$str = '$string = "AMD FX X6 Six Core 6300, AM3+, 8MB L3 (BOX)Serie : FX,Socket : AM3+,Numar nuclee : 6,Frecventa : 3500 MHz,Frecventa Turbo : 4100 MHz";
';
preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0);
// Print the entire match result
var_dump($matches);
输出
array(4) {
[0]=>
array(2) {
[0]=>
string(14) "Socket : AM3+,"
[1]=>
int(65)
}
[1]=>
array(2) {
[0]=>
string(13) "Socket : AM3+"
[1]=>
int(65)
}
[2]=>
array(2) {
[0]=>
string(6) "Socket"
[1]=>
int(65)
}
[3]=>
array(2) {
[0]=>
string(4) "AM3+"
[1]=>
int(74)
}
}
我想要这段代码 return Socket 模型。而不是 AM3+ returns 6300.
$string = "AMD FX X6 Six Core 6300, AM3+, 8MB L3 (BOX)Serie : FX,Socket : AM3+,Numar nuclee : 6,Frecventa : 3500 MHz,Frecventa Turbo : 4100 MHz";
preg_match('/[Socket]+[ : |:]+(?<socket>([A-Z]{2}+[0-9]{1}+[+]|[A-Z]{2}+[0-9]{1}|[A-Z]{3}+[ ]+[0-9]{4}|[0-9]{4}))/', $string, $array);
echo $array['socket'];
在这里,我们将简单地捕获套接字,然后是空格,:
,我们将捕获之后第一个逗号之前的内容,这是我们想要的输出 (.+?)
:
((Socket)\s+?:\s+?(.+?)),
测试
$re = '/((Socket)\s+?:\s+?(.+?)),/m';
$str = '$string = "AMD FX X6 Six Core 6300, AM3+, 8MB L3 (BOX)Serie : FX,Socket : AM3+,Numar nuclee : 6,Frecventa : 3500 MHz,Frecventa Turbo : 4100 MHz";
';
preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0);
// Print the entire match result
var_dump($matches);
输出
array(4) {
[0]=>
array(2) {
[0]=>
string(14) "Socket : AM3+,"
[1]=>
int(65)
}
[1]=>
array(2) {
[0]=>
string(13) "Socket : AM3+"
[1]=>
int(65)
}
[2]=>
array(2) {
[0]=>
string(6) "Socket"
[1]=>
int(65)
}
[3]=>
array(2) {
[0]=>
string(4) "AM3+"
[1]=>
int(74)
}
}