在bash脚本中,我必须匹配以字符串开头3次的字符串lo; 那么lololoba好,loloba是坏的,lololololoba是好的,balololo是坏的.
我尝试了这种模式:"^$str1/{$n,}" 但它不起作用,我怎么能这样做?
编辑:
根据OP的评论,lololololoba现在很糟糕.
这应该工作:
pat="^(lo){3}"
s="lolololoba"
[[ $s =~ $pat ]] && echo good || echo bad
Run Code Online (Sandbox Code Playgroud)
编辑(根据OP评论):
如果你想要完全匹配3次(即lolololoba,这应该是不匹配的):
改pat="^(lo){3}"到:
pat="^(lo){3}(l[^o]|[^l].)"
Run Code Online (Sandbox Code Playgroud)
您可以使用以下正则表达式:
^(lo){3}.*$
Run Code Online (Sandbox Code Playgroud)
相反,lo您可以放置变量。
请参阅演示https://regex101.com/r/sI8zQ6/1