1

我正在使用以下类型的字符串

DANT_NN-LT-OS-NET-S1-NOTIFIC_263947473_                 _?TEST1

我需要在“?”之前获取字符串的所有第一部分。

我在 linux 上对此进行测试,这个字符串来自数据库,我正在从 ksh 处理它。

我正在从 ksh 脚本运行以下命令。

echo $sql | grep -Eo "[a-zA-Z0-9_\-]+[ ]+[_]"

这是最后一个,我尝试了很多选择。

问题是,最后我只收到第一部分

DANT_NN-LT-OS-NET-S1-NOTIFIC_263947473_

或者一切...

非常感谢您对此正则表达式的任何帮助。

4

1 回答 1

1

尝试以下正则表达式

^[^?]+

正则表达式101演示

echo $sql | grep -oE '^[^?]+'
于 2013-11-13T05:42:18.333 回答