首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果使用regex,则匹配bash中的引导点。

如果使用regex,则匹配bash中的引导点。
EN

Stack Overflow用户
提问于 2013-03-17 03:09:23
回答 3查看 699关注 0票数 0

假设我想匹配字符串".a“中的前导点

所以我打字

[ ".a“= ^。&回声“哈哈”

高可用性

[ "a“= ^&回声“哈哈”

高可用性

为什么我在这里得到同样的结果?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-17 06:35:36

可能是因为bash试图治疗“。作为一个角色,比如\n \r等等。

为了告诉你。作为两个单独的字符,尝试

代码语言:javascript
复制
[[ "a" =~ ^\\. ]] && echo ha
票数 0
EN

Stack Overflow用户

发布于 2013-03-17 03:18:53

你需要转义点,它有超过一个句点的意义--它是正则表达式中的元字符。

代码语言:javascript
复制
 [[ "a" =~ ^\. ]] && echo "ha"

在另一个示例中也进行更改。

检查你的bash版本-你需要4.0或更高,我相信。

票数 1
EN

Stack Overflow用户

发布于 2013-03-18 06:56:26

=~3.0之后的Bash版本之间存在一些兼容性问题。在Bash中使用=~的最安全方法是将RE模式放在var中:

代码语言:javascript
复制
$ pat='^\.foo'
$ [[ .foo =~ $pat ]] && echo yes || echo no
yes
$ [[ foo =~ $pat ]] && echo yes || echo no
no
$

有关更多细节,请参见Bash页面上的E14

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

https://stackoverflow.com/questions/15457083

复制
相关文章

相似问题

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