发表日期: 2021-04-17 11:02:00 浏览次数:105
任丘网站制作【任丘网站优化】任丘建网站、任丘微信公众号运营、任丘网页设计、任丘微信小程序商城
任丘市,河北省辖县级市,由沧州市代管 [1] ,位于河北省中部,北依京津、毗邻雄安,西临白洋淀,是神医扁鹊故里,华北油田总部所在地。 [2] 全市总面积864平方公里,总人口为81万人,下辖7个街道、9个镇、3个乡,349个行政村。 [3]
任丘地处华北平原中北部,境内主要种植小麦、玉米等粮食作物。地下石油和天然气资源富集,为华北地区重要的石油产地和石化基地。任丘是国务院确定的对外开放县市和环京津经济圈的主要市县之一, [4] 自“九五”以来,任丘综合实力一直位居河北省“十强”县市前列,并连续多年入围全国“百强”县市。2014年完成生产总值600.1亿元。 [5]
任丘历史悠久,八千年前已有人类繁衍生息,西汉大将军任丘在此筑城为防海口而得名“任丘”,抗战时期任丘人民谱写了白洋淀游击战和地道战等家喻户晓的敌后斗争史。旅游景区有白洋淀千里堤、鄚州庙、石油矿山公园等,有任丘大鼓、冀中笙管乐等非物质文化遗产。2017年12月,当选中国工业百强县(市)。 [6]
2018年10月,入选2018年度全国综合实力百强县市 [7] 、全国绿色发展百强县市、全国科技创新百强县市、全国新型城镇化质量百强县市。 [8-10] 2019年10月8日,被评为2019年度全国综合实力百强县市、 [11] 2019年度全国绿色发展百强县市、 [12] 2019年全国科技创新百强县市、 [13] 2019年度全国新型城镇化质量百强县市 [14] 。2019年,被列为第二批国家农产品质量安全县。 [15]
为字符赋予字面意义
顺便说一下,因为字符
^
和$
在正则表达式中被赋予了特殊意义,所以看起来没办法在UNIX正则表达式中指定这些字符本身了。不过,UNIX用到了反斜杠\
,作为转义字符。如果我们在字符^
或$
之前加上反斜杠,那么这两个字符形成的组合就会被解释为第二个字符的字面意义,而不是其特殊含义。例如\$
表示UNIX正则表达式中的$
字符。同样,两道反斜杠就被解释为一个反斜杠,而不含有其转义字符的特殊意义。而UNIX正则表达式中的字符串\\$
表示的是反斜杠字符后面跟上行的结尾。还有不少其他的字符也被UNIX在某些情形下赋予了特殊意义,而这些字符也总是能表示它们的字面意义,也就是,通过在它们之前使用反斜杠来“除掉”它们的特殊意义。例如,只有这样处理方括号,方括号在UNIX正则表达式中才不会被解释为字符类分隔符。
符号.
在UNIX正则表达式中代表“除换行符之外的任意字符”。
正则表达式
.*a*e.*o.*u.复制代码
表示按次序包含5个元音字母的所有字符串。我们可以利用grep
与该正则表达式来扫描词典,查找单词中5个元音字母按递增次序出现的所有单词。不过,如果忽略掉开头和结尾位置的.*
,处理将更具效率,因为grep
是按子字符串搜索指定的模式,而不是整行搜索,除非我们显式地包含了表示行开头和行结尾的符号。因此命令
grep'a.*e.*i.*u' /use/dict/words复制代码
将会找到含有子序列aeiou
的所有单词并将其打印出来。
这些点号会匹配除字母之外的字符,这一实情并不重要,因为在/usr/dict/words
文件中除了字符和换行符之外没有其他字符。不过,如果点号可以匹配换行符,那么这一正则表达式就会允许grep
一次使用多行来找出依次出现的5个元音字母。不过像本例这样的例子都是点号被定义为不匹配换行符的例子。
UNIX命令awk
和egrep
中的正则表达式还含有一些额外的运算符,具体如下。
1. 与grep
不同的是,awk
和egrep
命令还允许取并运算符|出现在它们的正则表达式中。
2. 一元后缀运算符?和+没有允许我们定义额外的语言,但它们通常会让表示语言的工作变得更简单。如果R 是正则表达式,则R?代表ε |R,也就是可选的R。所以L(R?)是L(R )∪{ε }。R+代表RR *,或者等价地讲就是“R 中的单词出现一次或多次”。因此,L(R+)=L(R )∪L(RR )∪L(RRR )…。特别要说的是,如果ε 在L(R )中,那么L(R+)和L(R *)表示相同的语言。而如果ε 不在L(R )中,那么L(R+)就表示L(R *)-{ε }。运算符 ? 和+与 * 有着相同的结合性与优先级。
假设我们想通过正则表达式来指定由非空数字串与一个小数点组成的实数。将该表达式写为[0-9]*.[0-9]*
是不正确的,因为这样一来,只由一个点号组成的字符串也会被视作实数。该表达式利用egrep的一种写法是
[0-9]+ \.[0-9]*\.[0-9]+复制代码
在这里,取并的第一项涵盖了那些小数点左侧至少有一个数字的实数,而第二项则涵盖了以小数点开头,因此在小数点后必须至少有一位数字的那些实数。请注意,放在点号之前的反斜杠是为了表明这里的点号不具有约定的“通配符”含义。
利用如下egrep
命令可以扫描输入中那些字母严格按照字母表增序排列的行。
egrep '^a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?$'复制代码
也就是说,我们会扫描每一行,看看在行的开头和结尾之间是否有可选的a
、可选的b
,等等。例如,含有单词adept的一行就能匹该表达式,因为a
、d
、e
、p
和t
之后的?可以解释为“出现一次”,而其他的?可以解释为“没有出现”,也就是ε。
1. 为以下字符类写出表达式。
(a) 所有属于C语言运算符和标点符的字符,例如+和圆括号。
(b) 所有小写元音字母。
(c) 所有小写辅音字母。
2. * 如果可以使用UNIX,编写egrep
程序检查/usr/dict/words
文件,并找到下列单词:
(a) 所有以dous结尾的单词;
(b) 所有只含一个元音字母的单词;
(c) 所有原音字母与辅音字母交替出现的单词;
(d) 所有含四个或更多个连续辅音字母的单词。
两个正则表达式是可以表示同一语言的,就像两个算术表达式可以表示其操作数的相同函数那样。举例来说,x+y 和y+x 这两个表达式就表示x 和y 的相同函数。同样,不管用什么正则表达式来替换R 和S,正则表达式R |S和S |R都表示同一语言,证据就是取并运算也是具有交换性的。
简化正则表达式往往是很实用的。我们很快就会看到,在根据自动机构造正则表达式时,经常会构造出过于复杂的正则表达式。代数等价可以让我们“简化”表达式,也就是说,把一个正则表达式替换为另一个操作数和(或)运算符更少却又表示相同语言的正则表达式。这一过程类似于在处理算术表达式时对繁冗的表达式进行的那些简化。例如,可以将两个很大的多项式相乘,然后通过分组相似项来简化结果。再比如,我们在8.9节中简化了关系代数表达式从而获得更快的求值速度。
如果L(R )=L(S ),就说两个正则表达式R 和S 是等价的,记作R ≡S。如果这样的话,可以说R ≡S是一种等价。在接下来的内容中,我们将假设R、S 和T 是任意的正则表达式,并以这些操作数来陈述要讨论的等价关系。
等价的证明
在本节中,我们要证明若干涉及正则表达式的等价关系。回想一下,两个正则表达式的等价是说,不管为其变量替换怎样的语言,这两个表达式的语言都是相等的。因此我们可以通过证明两种语言,也就是两个字符串集合的相等性,来证明正则表达式的等价。一般而言,要通过证明两个方向上的包含关系来证明集合S1和集合S2是等价的。也就是说,证明S1⊆S2,还要证明S2⊆S1。两个方向对证明集合相等都是必要的。
任丘网站制作【任丘网站优化】任丘建网站、任丘微信公众号运营、任丘网页设计、任丘微信小程序商城
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878