星号和加号定义问题

时间:2015-12-27 16:06:23

标签: regex

我开始阅读Regex,在文章中我找到了这些:

The asterisk or star tells the engine to attempt to match the preceding token zero or more times. 

The plus tells the engine to attempt to match the preceding token once or more

我搜索了上述句子的含义,但我真的无法理解术语preceding token once or morepreceding token zero or more times的含义,有人可以通过一个例子解释这些吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

"前面的令牌"就是说,前面的标记。

*+的效果是句子的其余部分:

  • *表示前面的标记,无论可能是什么,都可以匹配零次或多次
  • +表示前面的令牌,无论可能是什么,都可以匹配一次或多次

A"令牌"这是一个模式单元,它可以是以下任何一个例子+更多:

  • 单个字符:A+与一个或多个A匹配,A*匹配零个或多个A s,如AAAAA
  • 字符类:\d+匹配一个数字,一次或多次,如123450
  • 字符集:[a-f]+匹配af中的任何字母,一次或多次,如afdbe
  • 群组:(test)+与文字test匹配一次或多次,例如testtesttest

"零或......"表示模式也可能没有匹配,这是一个示例模式:123450*6,这将匹配以下示例:

  • 1234506< - 此处0出现一次(大于零)
  • 123450006< - 此处出现三次(也大于零)
  • 123456< - 此处出现零次,如果您使用*则合法,但如果模式为123450+6则不合法。