当前位置:  开发笔记 > 编程语言 > 正文

正则表达式:+ $ VS*$ VS无

如何解决《正则表达式:+$VS*$VS无》经验,为你挑选了2个好方法。

在正则表达式中,^[a-zA-Z]+$和之间有什么区别^[a-zA-Z]*$.此外,我将能够不包括它在所有,要么^[a-zA-Z]$^[a-zA-Z].

我在网上查看它说+匹配前面的字符一次或多次并*匹配前面的字符零或一次,但我不知道这在这种情况下是什么意思,或者根本不是.



1> SubliemeSiem..:

+表示1或更多 *表示0或更多

所以找到一个空字符串^[a-zA-Z]*$,但不是^[a-zA-Z]+$

^[a-zA-Z]$ 意味着在az和AZ范围内只有一个字母.

a+a,aa,aaa,...,aaa...aaa

a*是'', ,,a ,...,等aaaaaaaa...aaa

^ a $只是'a'

编辑:你也可以^a?$用来找到0或1出现a,所以要么''或a



2> dasblinkenli..:

^并且$锚点.它们与任何东西都不匹配,它们只是将它放在输入的特定位置.

当你有^,你告诉引擎它后面的任何东西必须从行的开头开始

如果有$,你告诉引擎它必须从行的末尾开始

如果你有两个^,$你告诉引擎它们之间的任何东西都必须覆盖整个线路的端到端.

现在应该很容易理解锚点之间的区别[a-zA-Z]*[a-zA-Z]+位置:带星号的那个允许空行,而带有加号的那个坚持匹配至少一个字符.

还应该很容易理解当你只放置一个锚点时会发生什么:基本上,你^$发现匹配时让发动机忽略开头(缺失时)或行尾(缺失时).

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有