我需要一个只匹配字符串“MachineABC”和“MachineABCTest”的正则表达式。
我试过这样的表达式:MachineABC [“Test”] *。但它没有按预期工作。这个场景的正则表达式是什么。?
我正在使用grep实用程序进行测试。例如:echo“MachineABCTest”| grep'MachineABC [“Test”] +'。 示例grep返回null。
答案 0 :(得分:3)
正则表达式将是:
^MachineABC(Test)?$
如果你想让任何部分成为可选部分,只需将其与?
通知符分组,使其成为可选部分(1或0匹配)。
使用egrep进行测试:
echo "MachineABCTest" | egrep '^MachineABC(Test)?$'
MachineABCTest
echo "MachineABC" | egrep '^MachineABC(Test)?$'
MachineABC