正则表达式与linux中的grep与分隔符匹配

时间:2013-11-13 03:03:55

标签: regex linux grep

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

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_

或者一切......

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

1 个答案:

答案 0 :(得分:0)

尝试以下正则表达式

^[^?]+

regex101 demo

echo $sql | grep -oE '^[^?]+'