[英]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.