Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/RegEx-第1组完全匹配,获取哈希和空格之间的所有内容_Php_Regex - Fatal编程技术网

PHP/RegEx-第1组完全匹配,获取哈希和空格之间的所有内容

PHP/RegEx-第1组完全匹配,获取哈希和空格之间的所有内容,php,regex,Php,Regex,我正试图找到正确的正则表达式,以便从以下字符串中获取“#”和“”(空格)之间的所有内容 订阅#sub#u be0e1de5bc859170ebbe 9,99欧元专业标签 。。。我只需要“sub_be0e1de5bc859170ebbe” 使用下面的PHP代码/regex,我收到了正确的结果,但我希望结果是完全匹配的,而不是组1 preg_match('/#(.*?)[[:space:]]/', $transactionResponse->getDescription(), $output)

我正试图找到正确的正则表达式,以便从以下字符串中获取“#”和“”(空格)之间的所有内容

订阅#sub#u be0e1de5bc859170ebbe 9,99欧元专业标签

。。。我只需要“sub_be0e1de5bc859170ebbe”

使用下面的PHP代码/regex,我收到了正确的结果,但我希望结果是完全匹配的,而不是组1

preg_match('/#(.*?)[[:space:]]/', $transactionResponse->getDescription(), $output);
echo $output['1'];
正则表达式应该如何接收完全匹配的正则表达式“sub#be0e1de5bc859170ebbe”而不是“sub#be0e1de5bc859170ebbe”

谢谢你的帮助

您可以使用

preg_match('/#\K[^[:space:]]+/', $transactionResponse->getDescription(), $output);
匹配
#
并用
\K
匹配重置运算符将其忽略,然后匹配除空格以外的1+字符。
[^[:space:]
可以替换为
\S
(任何非空白字符)


请参阅。

为什么不使用组1?否则我将收到结果“#sub_ee22d2ad253c08c03a4d”。我希望结果结尾没有散列和空格。