繁体   English   中英

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

[英]PHP / RegEx - Group 1 to Full Match, Get everything between hash and space

我正在尝试找到正确的正则表达式,以使以下字符串中的'#'和''(空格)之间的所有内容...

Subscription#sub_be0e1de5bc859170ebbe 9,99€pro标签

...我只需要'sub_be0e1de5bc859170ebbe'。

使用以下PHP代码/正则表达式,我会收到正确的结果,但我希望结果为完全匹配而不是第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 (任何非空白字符)。

参见regex演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM