量词描述了一个模式吸收输入文本的方式

贪婪的:量词总是贪婪的,除非有其他的选项被设置。贪婪表达式会为所有可能的模
式发现尽可能多的匹配。导致此问题的一个典型理由就是假定我们的模式仅能匹配第
一个可能的字符组,如果它确实是贪婪的,那么它就会继续往下匹配。
勉强的:用问号来指定,这个量词匹配满足模式所需的最少字符数。因此也称作懒惰
的、最少匹配、非贪婪的或不贪婪的(lazy, minimal matching, non-greedy, or
ungreedy)。
占有的:量词当前只有在 java 语言中才可用(在其他语言中不可用),并且它也更
高级,因此我们大概不会立刻用到它。当正则表达式被应用于字符串时,它会产生相
当多的状态以便在匹配失败时可以回溯。而占有量词并不保存这些中间状态,因此它
们可以防止回溯。它们常常用于防止正则表达式失控,因此可以使正则表达式执行起

来显得更有效。

我们应该非常清楚地意识到表达式’X’通常必须要用圆括号括起来,以便它能够按照我们期
望的效果去执行。例如:


abc+


看起来它似乎应该匹配一个或多个’abc’序列,如果我们把它应用于输入字符串
‘abcabcabc’,我们实际上会获得 3 个匹配。然而,这个表达式实际上表示的是:匹配’ab’,
后面跟随一个或多个’c’。为了匹配一个或多个完整的’abc’字符串,我们必须这样表示:


(abc)+


你会发现在使用正则表达式时,很容易混淆。因为它是一种在 Java 之上的新语言。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值