PHP preg_匹配以在空格后获得一个单词,在空格后可以找到一个单词

PHP preg_匹配以在空格后获得一个单词,在空格后可以找到一个单词,php,Php,我有一个不确定的字符串,我有以下字符串: ST,NT,+16KG~YT,NT,+16KG ST,NT)16KG+YT,N,+16KG ST、NT、+16KG等 我的问题是,任何正则表达式只接受16KG或16,因为字符串是从数字秤输出的。 我正在处理一个带有串行端口的应用程序,因此我无法解析那里的数据,而在数字秤上的输出工具中只有16KG,所以您想得到KG之前的数字吗 试试这个: <?php $input = 'ST,NT,+ 16KG ~YT,NT,+ 16KG'; pre

我有一个不确定的字符串,我有以下字符串:
ST,NT,+16KG~YT,NT,+16KG

ST,NT)16KG+YT,N,+16KG

ST、NT、+16KG等

我的问题是,任何正则表达式只接受16KG16,因为字符串是从数字秤输出的。

我正在处理一个带有串行端口的应用程序,因此我无法解析那里的数据,而在数字秤上的输出工具中只有
16KG

,所以您想得到
KG
之前的数字吗

试试这个:

<?php
    $input = 'ST,NT,+ 16KG ~YT,NT,+ 16KG';
    preg_match('/(\d+)KG/',$input,$matches);
    echo $matches[1];
?>

*另请参阅和,以获取一些有用的工具,或更好的教程。可能重复的马里奥在那里我没有得到答案,你可以看到谁是那里的任务。大家好,这个问题已经结束,谢谢你帮助我。嗨,欧文,谢谢你的回复,我得到错误,当我打印时,我得到了一个空数据数组。你能显示你的完整代码吗?我的代码确实适用于您的示例输入:我想再问一个问题,如果输出数字标尺上的数字是负号,上面的正则表达式是-2KG,然后我得到的字符串是'ST,NT,+-2KG~YT,NT,+-2KG',我试过了,它只显示2KG,没有负号。谢谢。如果您想允许减号,请将
(\d+)
更改为
(\d+)
嗨,巴尔马先生,这是我的工作,非常感谢巴尔马先生和欧文先生,我向您伸出大拇指。谢谢
16