加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – Bash脚本中的正则表达式

发布时间:2020-12-14 06:33:15 所属栏目:百科 来源:网络整理
导读:你好你好社区, 正则表达式我是一个完整的目的。我已经推迟学习了,现在我的懒惰已经赶上了我。 我想做什么: 检查字符串是否匹配此格式: 10_06_13 即。今天的日期或与“2digits_2digits_2digits”相似的日期 我做了什么 regex='([0-9][0-9][_][0-9][0-9][_
你好你好社区,

正则表达式我是一个完整的目的。我已经推迟学习了,现在我的懒惰已经赶上了我。

我想做什么:
检查字符串是否匹配此格式:

10_06_13

即。今天的日期或与“2digits_2digits_2digits”相似的日期

我做了什么

regex='([0-9][0-9][_][0-9][0-9][_][0-9][0-9])'
if [[ "$incoming_string" =~ $regex ]]
then
   # Do awesome stuff here
fi

这在一定程度上起作用。但是当传入的字符串等于011_100_131 …它仍然通过正则表达式检查。

如果有人能帮助我指出正确的方向,我将不胜感激。
干杯

=?成功,如果左侧的字符串包含正则表达式的匹配。如果您想知道该字符串是否与正则表达式匹配,则需要“锚定”正则表达式,如下所示:
regex='^[0-9][0-9][_][0-9][0-9][_][0-9][0-9]$'
if [[ $incoming_string =~ $regex ]]
then
  # Do awesome stuff here
fi

^只在字符串的开始成功,$只在结束时成功。

笔记:

>我从正则表达式中删除了不必要的(),并从[[]]中删除了“”。> bash手册的措辞不好,因为它表示=?成功,如果字符串匹配。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读