Bash 字符串操作,可选字符
使用Bash 字符串操作,可选字符,bash,Bash,使用grep,您可以使用问号?表示可选字符,该字符将匹配0或1次 $ foo=qwerasdf $ grep -Eo fx? <<< $foo f 你可能在说。它使用shell模式,而不是正则表达式,因此答案是否定的 进一步阅读后,我注意到如果你 shopt -s extglob 您可以使用它来实现类似于regex的功能,尽管语法略有不同 看看这个: word="mre" # this returns true if [[ $word == m?(o)re ]]; the
grep
,您可以使用问号?
表示可选字符,该字符将匹配0或1次
$ foo=qwerasdf
$ grep -Eo fx? <<< $foo
f
你可能在说。它使用shell模式,而不是正则表达式,因此答案是否定的 进一步阅读后,我注意到如果你
shopt -s extglob
您可以使用它来实现类似于regex的功能,尽管语法略有不同
看看这个:
word="mre"
# this returns true
if [[ $word == m?(o)re ]]; then echo true; else echo false; fi
word="more"
# this also returns true
if [[ $word == m?(o)re ]]; then echo true; else echo false; fi
word="mooooooooooore"
# again, true
if [[ $word == m+(o)re ]]; then echo true; else echo false; fi
也适用于参数展开
word="noooooooooooo"
# outputs 'nay'
echo ${word/+(o)/ay}
# outputs 'nayooooooooooo'
echo ${word/o/ay}
word="noooooooooooo"
# outputs 'nay'
echo ${word/+(o)/ay}
# outputs 'nayooooooooooo'
echo ${word/o/ay}