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

前端之家收集整理的这篇文章主要介绍了正则表达式 – Bash脚本中的正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你好你好社区,

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

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

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手册的措辞不好,因为它表示=〜成功,如果字符串匹配。

原文链接:https://www.f2er.com/regex/357370.html

猜你在找的正则表达式相关文章