【发布时间】:2017-10-23 13:59:38
【问题描述】:
我正在尝试找到一个正则表达式,它将检查以下模式:
>chr28.1.1.24407.24473
因此,此模式由 5 个部分组成,由点分隔。第一部分是字符串“>chr”,后跟一个数字(一个或多个数字),所有其他部分应该是一个或多个数字的数字。 这个正则表达式应该是一个小脚本的一部分,它首先找到这些行,然后检查它们的验证。
HCE=$1
hceregex='^>chr[1-9]+\.[1-9]+\.[1-9]+\.[1-9]+\.[1-9]+$'
grep ">" $HCE > HCE.headers
file="HCE.headers"
lines=`cat $file`
for line in $lines
do
if [[ ! $line =~ $hceregex ]]
then
echo "Invalid fasta header in HCE sequence. Check the G-Anchor manual for the headers format"
exit 1
else
echo "Brilliant!!!!"
fi
done
我的问题是,没有点转义字符的正则表达式会返回所有标题。通过使用转义字符,它会排除所有内容,即使是正确的。 我做错了什么?
非常感谢。
【问题讨论】:
-
尝试转义点两次。
-
很遗憾,它不起作用。
-
是的,基本上这就是问题所在。非常感谢!