当前位置: 网站首页>小程序开发>网站制作

河间网站制作【河间网站优化】河间建网站、河间微信公众号运营、河间网页设计、河间微信小程序商城

发表日期: 2021-04-20 10:11:10 浏览次数:74

河间网站制作【河间网站优化】河间建网站、河间微信公众号运营、河间网页设计、河间微信小程序商城

河间市,古称河涧、瀛州,河北省辖县级市,由沧州市代管,东与沧县、青县接壤,北与大城县、任丘市交界,西与肃宁县、高阳县相邻,南与献县相连。属于湖积冲积平原,地势自西南向东北逐渐降低,典型大陆性季风气候,受季风影响,四季分明。截至2015年底,辖20个乡镇,615个行政村 [1]  ,总面积1333平方公里 [33]  ,总人口88.2万人。1990年10月撤县设市。 [2-3] 

河间市地处华北平原,盛产多种粮棉瓜果,尤以金丝小枣、天津鸭梨等著名。工业产品种类很多,化工、纺织、电缆均较突出,形成了以电线电缆、保温材料、汽车配件、建材、花卉、餐具为主的六大支柱产业。

2016年,河间市完成地区生产总值287.2亿元,增长8.2%。 [4]  2019年12月,成为全国乡村治理体系建设试点单位。2020年9月,入选河北省食品产业强县(市、区)(培育型)名单。

10.5 正则表达式

自动机定义了模式,即表示自动机的图中,作为从起始状态到某个接受状态的路径标号的字符串组成的集合。在本节中,我们遇到了正则表达式这种用来定义模式的代数方法。正则表达式与我们熟悉的算术表达式代数,以及第8章中遇到的关系代数都是相似的。有趣的是,可以用正则表达式代数表示的模式组成的集合,刚好与可以用自动机描述的模式组成的集合相同。

表示方式的约定

我们还将继续使用等宽字体来表示出现在字符串中的字符。与某给定字符对应的正则表达式原子操作数则会用加粗的该字符来表示。例如,a是对应字符a的正则表达式。在我们需要使用变量时,会把它写为斜体。变量在这里用来代表复杂的表达式。例如,使用变量letter 表示“任意字母”这个我们很快就要看到其正则表达式的集合。

10.5.1 正则表达式的操作数

与所有的代数一样,正则表达式也具有某几类原子操作数。在算术代数中,原子操作数是常数(比如整数或实数),或可能的值是常数的变量;而对关系代数而言,原子操作数要么是固定的关系,要么是可能的值为关系的变量。在正则表达式代数中,原子操作数是如下几种中的一种。

1. 字符;

2. ε 符号;

3. ∅符号;

4. 值可能为由正则表达式定义的任意模式的变量。

10.5.2 正则表达式的值

任意代数中的表达式都具有某一类型的值。对算术表达式来说,值可以是整数、实数,或是我们可以处理的任意类型的数字。对关系代数而言,表达式的值就是个关系。

对正则表达式来说,每个表达式的值都是由通常被称为语言的字符串集合组成的模式。由正则表达式E 表示的语言就被称为L(E ),或者是“E 的语言”。原子操作数的语言有如下定义。

1. 如果x是任意字符,那么正则表达式x表示语言{x};也就是说,L(x)={x}。请注意,该语言是包含一个字符串的集合,该字符串的长度为1,而且字符串中唯一的位置被字符x占据。

2. L(ε )={ε }。作为正则表达式的特殊字符ε 表示只含一个空字符串(或者说长度为0的字符串)的字符串集合。

3. L(∅)={∅}。作为正则表达式的特殊字符∅表示字符串集合为空。

请注意,我们没有定义原子操作数为变量时的值。只有在将变量替换为具体的表达式时,才可以为这样的操作数取值,而且它的值就是相应的表达式的值。

10.5.3 正则表达式的运算

正则表达式中运算符共有3种。这些运算符都可以用括号分组,就像我们所熟悉的代数中那样。和代数表达式中所做的一样,存在一些让我们可以忽略某些括号对的优先次序和结合律。在探讨完这些运算后,我们将会描述关于括号的规则。

1. 并

第一种,也是我们最熟悉的一种运算符就是运算符,我们要将其表示为 | 。3为正则表达式取并的规则是,如果R 和S 为两个正则表达式,那么R |S表示R 和S 所表示的语言取并。也就是说,L(R |S )=L(R )∪L(S )。回想一下,L(R )和L(R )都是字符串的集合,所以为它们取并的概念是说得通的。

3在正则表达式中,加号+也常用作并运算符,不过在这里并不这样表示。

示例 10.11

我们知道a是表示{a}的正则表达式,而b是表示{b}的正则表达式。因此a|b就是表示{ab}的正则表达式。这是一个包含ab这两个长度为1的字符串的集合,同样,可以写出诸如(a|b)|c这样的表达式,来表示集合{abc}。因为取并是一种有结合性的运算符,也就是说,在为3个集合求并集时,以任意次序组合这些操作数都是没关系的,可以忽略括号,并直接将表达式写为a|b|c

2. 串接

正则表达式代数的第二个运算符叫作串接(concatenation)。它是用没有任何运算符符号来表示的,就像在写乘法表达式时有时会省略运算符那样,例如,算术表达式ab 就表示a 和b 的积。和取并运算一样,串接运算也是二元的中缀运算符。如果R 和S 是正则表达式,那么RS 就是R 和S 的串接。4

4严格地讲,应该把RS 写为(R )(S ),以强调R 和S 是分开的表达式,因为优先级规则,它们各自的组成部分一定不能混合在一起。这种情况与我们将表达式w+x 与y+z 相乘时类似,一定要将积写为(w+x)(y+z)。请注意,因为乘法要先于加法计算,所以如果把括号去掉,得到的表达式w+xy+就不能解释为w+x 与y+z 的积了。正如我们将要看到的,串接与取并具有的优先关系使得它们分别类似与乘法和加法。

RS 表示的语言L(RS )是由语言L(R )和L(S )按照以下方式形成的。对L(R )中的各字符串r 以及L(S )中的各字符串s 来说,字符串r 和s 的串接rs 是在L(RS )中的。回想一下两个表(比如字符串)的串接,是通过按次序取第一个表中的元素,并在它们之后按次序接上第二个表的元素而形成的。

类型之间的一些微妙区别

读者不应该弄混看似相似,实则差别巨大的多种对象。例如,空字符串ε就和空集∅不同,而这两者又都与只包含空字符串的集合{ε }不同。空字符串的类型是“字符串”或“字符表”,而空集和只含空字符串的集合都是“字符串集合”类型的。

我们还应该记得类型为“字符”的字符a,类型为“字符串”的长度为1的字符串a,以及类型为“字符串集合”的正则表达式a的值{a}之间的区别。还要注意到在其他的上下文中,{a}可能表示包含字符a的集合,而且我们没有表示方式上的约定用来区分{a}的这两种含义。不过,在本章的内容中,{a}通常都具有前一种解释,也就是“字符串集合”而非“字符集合”。

示例 10.12

R是正则表达式a,因此L(R)就是集合{a}。再设S是正则表达式b,所以L(S)={b}。那么RS就是表达式ab。要形成L(RS),需要取L(R)中的每个字符串,将其与L(S)中的每个字符串串接。在这种简单的情况中,L(R)和L(S)都是单元素集,所以对其二者来说都各自只有一种选择。我们从L(R)中选择a,并从L(S)中选择b,然后将这两个长度为1的表串接起来,就得到了字符串ab。因此L(RS)就是{ab}。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

河间网站制作河间网站优化河间建网站、河间微信公众号运营、河间网页设计、河间微信小程序商城

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878