我试图找到一种更好的方法来匹配我的bash脚本中每周的日子。下面是我有工作:BASH正则表达式来匹配星期几
if [[ $LINE == *"Sun"* ]] || [[ $LINE == *"Mon"* ]] || [[ $LINE == *"Tue"* ]] || [[ $LINE == *"Wed"* ]] || [[ $LINE == *"Thu"* ]] || [[ $LINE == *"Fri"* ]] || [[ $LINE == *"Sat"* ]]; then
我通过Sun解析开始与周一的文件中的所有行:
Mon cat dog bird
Tue bird cat dog
但我知道必须有一个更好的办法。我试过很多东西,这里有一些失败的:
DAYS_REGEX='*[S|M|T|W|F][u|o|e|h|r|a][n|e|d|u|i|t]*'
if [[ $LINE =~ $DAYS_REGEX ]] ; then
和
if [[ $LINE == *"Sun|Mon|Tue|Wed|Thu|Fri|Sat"* ]] ; then
我觉得应该有一个正则表达式,将是这样的,但我不能用别针把它下:
(SMTWF/uoehra/neduit)
我有什么作品,但我想了解如何将正则表达式到我的bash脚本。任何帮助/建议将不胜感激。 TIA
愚蠢的问题:如果你的所有行*开始*与星期几,那么为什么你现有的glob模式在开始时有'*' ING? – ruakh
我在网上发现了一段代码,并将其扩展为包含一周中的所有日子。现在我开始使用正则表达式,我想知道如果我可以删除那些,但我还没有尝试过。 – user2615269
在一周中没有* Regex *,你可以将它们全部命名,或者有一个匹配它们的超集的正则表达式,在这种情况下它有可能匹配不完全是星期几的东西 –