Rob*_*bie 29 regex linux bash expression
您好,社区,
当谈到正则表达式时,我是一个完整的涂料.我推迟了学习......现在我的懒惰已经赶上了我.
我要做的是:
检查字符串是否与此格式匹配:
10_06_13
Run Code Online (Sandbox Code Playgroud)
即.今天的日期,或与"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
Run Code Online (Sandbox Code Playgroud)
这在一定程度上起作用.但是当传入的字符串等于011_100_131
...时,它仍然通过正则表达式检查.
如果有人能帮我指出正确的方向,我将不胜感激.
干杯
ric*_*ici 45
=~
如果左侧的字符串包含右侧正则表达式的匹配项,则成功.如果你想知道字符串是否与正则表达式匹配,你需要在两边"锚定"正则表达式,如下所示:
regex='^[0-9][0-9][_][0-9][0-9][_][0-9][0-9]$'
if [[ $incoming_string =~ $regex ]]
then
# Do awesome stuff here
fi
Run Code Online (Sandbox Code Playgroud)
该^
只成功在字符串的开头,并且$
只有在成功结束.
笔记:
()
从正则表达式中删除了不必要""
的内容[[ ... ]]
.=~
如果字符串匹配则成功. 归档时间: |
|
查看次数: |
63413 次 |
最近记录: |