Php 预匹配方括号外的数据
我有一个来自MySQL的字符串,我想得到方括号之外的数据 以下是我的数据:Php 预匹配方括号外的数据,php,preg-match,Php,Preg Match,我有一个来自MySQL的字符串,我想得到方括号之外的数据 以下是我的数据: [USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1 Microsoft Windows NT 6.1.7601 Service Pack 1 preg_match_all("/].*?\[/", $adat["I
[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array);
print_r( $result_array[0][1] );
] Microsoft Windows NT 6.1.7601 Service Pack 1 [
如何获取此:
[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array);
print_r( $result_array[0][1] );
] Microsoft Windows NT 6.1.7601 Service Pack 1 [
由该用户尝试的:
[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array);
print_r( $result_array[0][1] );
] Microsoft Windows NT 6.1.7601 Service Pack 1 [
在这之后,我得到了:
[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array);
print_r( $result_array[0][1] );
] Microsoft Windows NT 6.1.7601 Service Pack 1 [
如何在不使用括号的情况下获取数据?尝试使用这样的括号进行匹配
preg_match_all("/](.*?)\[/", $adat["INFORMATION"], $result_array);
与括号一起使用()
或者,您可以使用函数使用括号
preg_match_all("/](.*?)\[/", $adat["INFORMATION"], $result_array);
那么
print_r( $result_array[1][1] );
Microsoft Windows NT 6.1.7601 Service Pack 1
请注意打印中的差异