regex - Bash 正则表达式在句子中查找特定单词

标签 regex string bash scripting

我有这样一句话:

"The dog jumped over the moon because he likes jumping"

我想找到所有匹配 jump.* 的单词,即 jumpedjumping。我该怎么做?

目前我有一个变量中的句子,$sentence。而且我知道我要测试的匹配词,例如$test跳转

谢谢

最佳答案

无管道的 Bash 解决方案

如果您想纯粹在 Bash 中执行此操作,您可以使用正则表达式匹配运算符和内置的 BASH_REMATCH 变量来保存结果。例如:

re='\bjump[[:alpha:]]*\b'
string="The dog jumped over the moon because he likes jumping"
for word in $string; do
    [[ "$word" =~ $re ]] && echo "${BASH_REMATCH}"
done

根据您的语料库,这会正确返回以下结果:

jumped
jumping

关于regex - Bash 正则表达式在句子中查找特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419885/

相关文章:

javascript - ES6 何时使用 String.raw 代替默认模板文字

javascript - 在 JavaScript 中,我应该调用 parseFloat 将字符串转换为 float ,还是应该让 JavaScript 转换它们?

linux - 用于隔离文件中单词的 Bash 脚本

bash - ZSH:在脚本文件中执行函数

bash - 通过 sh、curl、mailgun 将文件内容作为电子邮件文本发送

python - 在 pandas 数据框列中查找特定文本

regex - 在 JavaScript 正则表达式中先行

Python REGEX 匹配字符串并打印

python - 如何在python中使用IF语句匹配两个相等的字符串

python - 输入和打印