gpt4 book ai didi

regex - 检查字符串是否按顺序包含嵌入字符串

转载 作者:行者123 更新时间:2023-11-29 09:29:49 25 4
gpt4 key购买 nike

我想检查某个字符串是否嵌入到另一个字符串中。例如 pineappleapple 匹配以及 aeppreSTLseapple

如果我知道要测试的单词,这是一项简单的任务,例如:

if [[ $e == *"a"*"p"*"p"*"l"*"e"* ]]
then
echo "match"
fi

但是,当我运行脚本时,我不知道将替换我的 "apple" 变量的长度或内容。如何使用可变大小/内容执行此检查?

最佳答案

以下是生成 glob 模式以匹配的方法:

data='bcdaeppr?estlse'
search='app?le'

# generate a regex using sed i.e. *\a*\p*\p*\?\l*\e*
patt="*$(sed 's/./\\&*/g' <<< "$search")"

# now match it
[[ $data == $patt ]] && echo "matched" || echo "nope"
matched

# not matching example
data='bcdaepprestlse'
[[ $data == $patt ]] && echo "matched" || echo "nope"
nope

关于regex - 检查字符串是否按顺序包含嵌入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com