我试图从不同的变化字符串中拉出某个部分,并且很难获得正确的正则表达式。以下是我想要提取的一些例子:
所以基本上,我只想在句号之后拉出字符,但是在空格之前。之前或之后没有别的。有人能帮我拿到正确的正则表达式吗?
答案 0 :(得分:2)
preg_match('/\w+\.(\w{2})\s/', $input, $matches);
echo $matches[1];
\w+
表示1个或多个单词字符(a-z,A-Z和0-9)。\.
表示句点/点(反斜杠是为了逃避它,因为\.
用作正则表达式中的运算符)(\w{2})
匹配2个字符\s
表示空白答案 1 :(得分:2)
这应该有效:
<?php
preg_match( '/\.([^ ]+)/', $text, $matches );
print_r( $matches );
?>
输出:
Array
(
[0] => .MA
[1] => MA
)
Array
(
[0] => .16
[1] => 16
)
Array
(
[0] => .QB
[1] => QB
)
正则表达式是说找到一个。字符,然后获取不是空格字符的任何字符。 +使它只返回点后面有非空格字符的匹配。
答案 2 :(得分:0)
preg_match('/^[A-Z0-9]{5}\.([A-Z0-9]{2})/', $string, $matches);
var_dump($matches);
应该返回$matches[1]
中的字符。