当前位置: 首页 > 网络应用技术

JavaScript的零 - 定期解释解释

时间:2023-03-06 21:23:46 网络应用技术

  调整某些内容或内容的位置,内容的内容或位置应符合某些条件。

  那么零宽度断言是什么?零宽度是什么意思?

  从流行的角度来看,零宽的字面意义是与宽度匹配到零的断言。

  SO称为匹配宽度为零,这意味着此断言正在起作用:

  这三个点不仅显示了零宽度断言的定义,而且还说明了零宽度断言的两个特征:非捕捉和不食用字符

  我将这两个特征放在下一章中。

  因为背面有一些案例代码,为了使每个人都能更清楚地理解代码,所以本章首先讨论零宽单词表达式

  (?= exp)正(正预测)匹配特定位置的前奏。随后的内容与表达式EXP(?<= exp)阳性(回顾性)和邮政 - 评估不匹配一定位置。负(负)审查)发布断言以匹配特定位置。

  现在有这样的需求:

  在弦乐“北京(Xicheng District)(Haidian District)”中,删除了尚未包装的角色

  这个怎么做?

  该请求是取出拆卸字段,并且必须遵循该字段的背后,这很简单。

  然后,我可以写一个零宽的单词表达式,以查看它是否可以满足需求:

  console.log(reg.exec('北京(Chaoyang District)(Chaoyang District)(Xicheng District)(Haidian District)')

  // [“北京”,索引:0,输入:“北京(西城)(Haidian District)(Haidian District)”,组:不确定]

  console.log('北京(Chaoyang District)(Xicheng District)(Haidian District)。

  // [“北京”,索引:0,输入:“北京(西城)(西城)(Xicheng District)”,组:不确定]简单地解释,这可以被视为两个部分,即

  假设您已经在正则表达式中知道:

  然后上一部分可以匹配给定字符中包含的所有字符,然后零宽的单词的一部分为匹配增加了条件。遵循匹配的内容。

  您可能有疑问,如果我经常以这种方式写,为什么结果是错误的?

  我首先解释说,这是在这里加入贪婪模式和非纠正模式,因为上述情况是首先主张的正面(正面预测)的情况,互联网上的某些人说,积极的零宽 - 宽度断言是从右到左执行。我不会批评,我只是希望每个人都能抛光。

  那么为什么缺少一个问号?

  如上所述,在此表达式中,这意味着最多不匹配或最多匹配一次。这是非绿色模式。

  表达式在贪婪模式下运行,而不是添加。什么是贪婪模式?也就是说,为了匹配尽可能多的匹配,匹配匹配和匹配,贪婪,总是与字符串的末端匹配

  由于字符串中有三个,在贪婪的模式下,它将始终与字符串的末端匹配,并且将获得此结果。

  第一章已经说出了零宽单词及其特征的定义。这是这两个特征的两个特征:非捕捉特征,而不是进食特征

  这是零宽单词,非捕捉特征的基本特征

  我假设您知道您可以在数据包的正则表达式中使用它,一个是组。因此,我将举一个使用数据包值替换字符的示例:

  上面的代码,我现在使用一个组来获取并替换正确的字符,现在更改代码,以查看其将是什么:

  显然,尽管该方法返回正确的结果,但替换无法达到所需的效果,并且该结果与使用非捕捉组的使用一致:

  因此,我们得出结论:

  尽管第二个代码片段也用于分组,因为该数据包使用零宽单词的表达式,因此规律性不会返回到目标参考,因此替换不能成功。

  结果,此示例是一个很好的证据,表明零宽单词具有非捕获的特征。

  零字词的另一个功能不是吃角色。

  这不是不吃人物的普通饮食感,但是零宽的断言不会占据搜索位置。这不是要找到的内容。因此,正则表达式与零宽度断言本身不匹配。

  在这里,我们扩展了一个概念。

  此概念是常规对象的属性,称为正则表达式下一个匹配的起始位置。

  如果我们使用常规方法,例如等待方法,我们可以清楚地看到影响:

  该代码的返回结果,我相信许多人会判断错误,我直接将结果放在下面

  [“ a”,“ a”,index:0,输入:“ A”,组:未定义]

  null [c“,“ c”,索引:0,输入:“ C”,组:未定义] null [e“ e”,“ e”,index:0,输入:“ e”,组:固定效率不足]

  震惊了吗?

  这很好笑。简而言之,当全球比赛成功时,它指向了成功匹配的角色索引。再次匹配时,继续从位置进行匹配。

  请注意,阵列中每个项目的长度为1。如果值大于或等于1,则自然匹配的结果为;在不匹配结果的情况下,默认值0的值,下一个匹配是非null的结果。

  因此,我们得出的结论是,随着匹配结果的改变

  在下面,我们使用零 - 宽度断言进行尝试。

  我不知道您是否可以猜到这个结果?

  [“”,索引:0,输入:“ A”,组:未定义]

  [“”,索引:0,输入:“ b”,组:未定义] [“,index:0,输入:“ C”,组:未定义] [“,index:index:0,输入:” D”,组:未定义] [“,索引:0,输入:“ E”,组:未定义]

  而且,由于正则表达式与零宽度断言本身不匹配,因此零宽度的断开连接不会更改值,因此它返回空值,但不会返回空的(null)。

  如果您仍然无法理解,请尝试查看以下代码:

  此代码非常简单,结果只能匹配一个项目

  [“他”,索引:0,输入:“你好,这是他的,那是个帅

  显然,当Reg匹配时,表达式的中间已经结束,只有匹配,这可以更明显地反映不吃角色的特征。

  通常,根据断言的方式将零宽度断言分为四类,这是:

  用JavaScript的语言,仅支持第一个断言。

  这是一个断言,当返回非空结果之前,当前部的内容或后面的内容后面的内容必须与表达式EXP匹配

  负面的断言是,当正面的内容或背后的内容与表达式EXP不符时,它将返回到非空的结果。

  第一个断言是将某个位置背后的内容与表达式Exp匹配

  后来,断言是将某个位置前面的内容与表达式匹配

  示例1是我在采访问题中发现的

  38元穿着衣服,62元的鞋子,15元的剪发,45元吃晚饭,30元出租车和10元的冰淇淋。

  回答:

  示例2

  “我喜欢吃饭,睡觉,看电影,”

  回答:

  这两个示例相对简单,因此我不会坐得太多,无法解释太多。

  例如,我在面试问题中找到了它

  测试文件是否为.css后缀,但不能是.min.css,例如:

  测试('a.min.css');// false测试('B.CSS');// true Test('C.Mining.css');// 真的

  回答:

  这是一个文件名,始于.min.css末尾的任何字符的末尾。在剩余的文件名中找到以剩余文件名结尾的文件名

  console.log('北京(Chaoyang District)(Xicheng District)(Haidian District)'。

  // [“北京(Chaoyang district)(Xicheng District)”,索引:0,输入:“北京(Chaoyang district)(Xicheng District)(Haidian District)(Haidian District)(Haidian District)”,组:不确定的] 0不容易,如果此含义不容易文章帮助您,请移动手指并再次放弃?

  作者:阳光同学