- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图了解在编写正则表达式时如何防止某些模式在寻找到的模式之前或之后存在!
我正在寻找一个匹配 YYMMDD 格式日期的正则表达式 ((([0-9]{2})(0[1-9]|1[0-2])(0 [1-9]|[1-2][0-9]|3[0-1]))
) 在长字符串中,同时忽略较长的数字序列
它应该能够匹配:
但应该忽略:
我如何确保如果一个数字的多超过这 6 位数字,它不会在一个正则表达式中被选为日期(意思是,我宁愿避免预处理字符串)我想到了 \D((19|20)([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|[ 1-2][0-9]|3[0-1]))\D
但这是否意味着必须前后有一些字符?
我正在使用 bash 3.2 (ERE)
谢谢!
最佳答案
尝试:
#!/usr/bin/env bash
extract_date() {
local string="$1"
local _date=`echo "$string" | sed -E 's/.*[^0-9]([0-9]{6})[^0-9].*/\1/'`
#date -d $_date &> /dev/null # for Linux
date -jf '%y%m%d' $_date &> /dev/null # for MacOS
if [ $? -eq 0 ]; then
echo $_date
else
return 1
fi
}
extract_date text15111224moretext # ignore n_digits > 6
extract_date text151125moretext # take
extract_date text151132 # # ignore day 32
extract_date text151324moretext1944 # ignore month 13
extract_date text150931moretext1944 # ignore 31 Sept
extract_date 151126 # take
输出:
151125
151126
关于regex - 将匹配 YYMMDD 但不匹配更长数字的 bash 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44812906/
所以我的问题是: 为什么(以及如何避免)C# 中的 Is 运算符的生命周期比 if 中使用的更长? 例子: Animal a = new Cat(); if (a is Cat c) { Co
我遇到了这个问题,我已经尝试解决了很长一段时间。理想情况下,我希望 particles.js 的“生成框”向下延伸到页面底部(由 fullpage.js 计算的 7 x viewport),这样当使用
我想让一个 div(我的侧边栏)延伸到页面底部。我知道我需要添加“高度:100%;”为了做到这一点。 但是当我添加 height: 100%; 时,内容少于侧边栏的页面会降低侧边栏的高度,然后您就看不
只有我这么认为吗,还是在 SQL Server 2008 Management Studio 中扩展数据库列表比在 SQL Server 2005 Management Studio 中扩展数据库列表
我是一名优秀的程序员,十分优秀!