Regex 用符号匹配字母和数字的正则表达式
使用PHP的preg_match,我尝试将元素符号匹配为 K+=>数组[0]=>K+,[1]=>K[2]=>+ Cr7+=>数组[0]=>Cr7+,[1]=>Cr,[2]=>7+ O2-=>阵列[0]=>O2-,[1]=>O[2]=>2- 我想出了一个Regex 用符号匹配字母和数字的正则表达式,regex,preg-match,Regex,Preg Match,使用PHP的preg_match,我尝试将元素符号匹配为 K+=>数组[0]=>K+,[1]=>K[2]=>+ Cr7+=>数组[0]=>Cr7+,[1]=>Cr,[2]=>7+ O2-=>阵列[0]=>O2-,[1]=>O[2]=>2- 我想出了一个 preg_match('/^[A-Za-z](\d[+|-])/', $str, $match); 但它与K+不匹配。如何向数字添加或添加条件?您可以在可选的小写字母后面匹配大写字母,表示以数字或[-+]符号结尾的元素名称,或使用以下两种符号:
preg_match('/^[A-Za-z](\d[+|-])/', $str, $match);
但它与K+不匹配。如何向数字添加或添加条件?您可以在可选的小写字母后面匹配大写字母,表示以数字或[-+]符号结尾的元素名称,或使用以下两种符号:
([A-Z][a-z]*)(\d*[-+]?)
PHP代码见演示:
所提供输入的输出:
Array
(
[0] => Array
(
[0] => K+
[1] => K
[2] => +
)
[1] => Array
(
[0] => Cr7+
[1] => Cr
[2] => 7+
)
[2] => Array
(
[0] => O2-
[1] => O
[2] => 2-
)
)
Array
(
[0] => Array
(
[0] => K+
[1] => K
[2] => +
)
[1] => Array
(
[0] => Cr7+
[1] => Cr
[2] => 7+
)
[2] => Array
(
[0] => O2-
[1] => O
[2] => 2-
)
)