首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash regex -不同数量的反斜杠用于逃跑?

Bash regex -不同数量的反斜杠用于逃跑?
EN

Stack Overflow用户
提问于 2014-05-28 12:16:53
回答 1查看 141关注 0票数 0

最近,我用这种regex测试编写了一个脚本:

代码语言:javascript
复制
# Works fine on Sabayon/Mac, doesn't work on CentOS
[[ $line =~ (.+)\{(.+)\} ]] || continue

它在Sabayon Linux和Mac上运行很顺利,但是我需要在其他环境下运行它,而脚本失败了。它是CentOS Linux。过了一段时间,我发现我需要避免出现双重反弹,才能让它发挥作用。

代码语言:javascript
复制
# Works fine on CentOS, does not on Sabayon/Mac
[[ $line =~ (.+)\\{(.+)\\} ]] || continue

环境清单:

  • CentOS版本5.5 (最终),2.6.18-194.el5,运行GNU,版本3.2.25(1)-release (x86_64-redhat-linux-gnu)
  • Sabayon最新版本,3.12.0-sabayon,运行GNU,版本4.2.45(1)-release (x86_64-pc-linux-gnu)
  • OS X 10.9.3,运行GNU,版本3.2.51(1)-release (x86_64-apple-darwin13 13)

为什么会发生这种事?如何使它在两个环境中运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-28 12:40:27

可以将表达式存储在变量中,并在测试中使用该表达式:

代码语言:javascript
复制
re="(.+)\{(.+)\}"
[[ $line =~ $re ]] || continue

我不认为你真的需要这里的括号。".+\{.+\}"也能工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23911373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档