汕头seo网站推广费用,全国网站建设公司排行版,天津企业网站建设,怎么宣传自己的店铺正则表达式
特殊字符描述[]方括号表达式#xff0c;表示匹配的字符集合#xff0c;例如 [0-9]、[abcde]()标记子表达式起止位置*匹配前面的子表达式零或多次匹配前面的子表达式一或多次?匹配前面的子表达式零或一次\转义字符#xff0c;除了常用转义外#xff0c;还有表示匹配的字符集合例如 [0-9]、[abcde]()标记子表达式起止位置*匹配前面的子表达式零或多次匹配前面的子表达式一或多次?匹配前面的子表达式零或一次\转义字符除了常用转义外还有\b 匹配单词边界\B 匹配非单词边界等.匹配除 \n换行外的任意单个字符{}标记限定符表达式的起止。例如 {n} 表示匹配前一子表达式 n 次{n,} 匹配至少 n 次{n,m} 匹配 n 至 m 次|表明前后两项二选一$匹配字符串的结尾^匹配字符串的开头在方括号表达式中表示不接受该方括号表达式中的字符集合
正则表达式实例 匹配Email地址
^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$^[a-zA-Z0-9._%-]的解释
^: 表示匹配字符串的开头。[a-zA-Z0-9._%-]: 是一个字符类包含了大小写字母a-zA-Z、数字0-9以及一些特殊字符._%-。: 表示前面的字符类中的字符可以出现一次或多次。
这个正则表达式的含义是匹配以大小写字母、数字、点.、下划线_、百分号%、加号或减号-开头的字符串。
匹配身份证号码
^(^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])([0-2][1-9]|10|20|30|31)\d{3}(\d|X|x)$^[1-9]\d{5} 是一个正则表达式用于匹配一个六位的正整数。让我们解释一下这个正则表达式的各个部分
^: 表示匹配字符串的开头。[1-9]: 匹配第一个字符是1到9之间的任意一个数字。\d: 匹配任意数字等同于[0-9]。{5}: 表示前一个元素\d必须重复出现5次。 shell脚本与正则表达式结合的实例 有一个文本文件 data.txt 包含一些数据每一行都有一个字符串你想从中提取符合特定条件的数据。
#!/bin/bash# 文件路径
filedata.txt# 匹配并提取所有包含数字的行
echo Lines containing numbers:
grep -E [0-9] $file# 匹配并提取所有包含邮箱地址的行
echo -e \nLines containing email addresses:
grep -E \b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\b $file# 匹配并提取所有包含日期的行 (YYYY-MM-DD)
echo -e \nLines containing dates (YYYY-MM-DD):
grep -E \b\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\b $file# 匹配并提取所有以Product:开头的行提取产品名称
echo -e \nProduct names:
grep -E ^Product: (.)$ $file | sed -E s/^Product: (.)$/\1/# 匹配并提取包含特定关键字的行并统计其出现次数
keywordimportant_keyword
echo -e \nLines containing the keyword $keyword and their count:
grep -E $keyword $file | tee /dev/tty | wc -l