PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
RegExp
[问题] Atomic Group 的原理是什么?
楼主:
kikilalagirl
(kikilala)
2021-11-15 12:50:16
Atomic Group 的原理是什么?
实在搞不懂, 想请教各位大大, 希望能指导一下. 谢谢.
下载 MSYS2 来练习 Regular Expression, 使用 grep.exe
https://www.msys2.org/
范例1:
https://i.imgur.com/BljXlDD.jpg
为什么 big 与 biggest 互换, 匹配结果会不同?
范例2:
https://i.imgur.com/PwlOieo.jpg
为什么 a(?>bc|b)c 会没有匹配到 abc 呢?
经典范例: 不匹配 { } 里面的数字
( 来源 http://hk.uwenku.com/question/p-vayxvzwu-bgp.html )
https://i.imgur.com/Lbmhwh4.jpg
为什么加了 ?> (Atomic Group) 后, 就不会匹配到 7 了?
以上范例的指令放在 https://pastebin.com/e60Qt9eE
作者:
microloft
(微阁)
2021-11-15 14:45:00
https://i.imgur.com/fOnMZyq.png
这解释蛮清楚的简单说就是group内一旦有match,|后面的都会同时被舍弃不会再回头尝试其他选项了
作者:
LPH66
(-6.2598534e+18f)
2021-11-15 18:59:00
+ 的 greedy 性表示第一波进去吃到 70 后退出, 这时 "70"被 atomic group 抓住了, 表示之后若失败则不会退回其中然后 (?!}) 失败了, 所以退后, 因上述理由不会再试只取 7的状况, 因此就不会匹配到单 7 了 (被 atomic group 丢掉)跟 alternation 的相似性在于 atomic group 里有不只一种取法, 然后当这一群匹配成力后就锁住了不会去试别的成功
继续阅读
[问题] 怎抓到全部的()
vernc
[问题] 取代引号中的特定字串 (更)
hunandy14
[问题] 撷取特定区间中特定字
lazcat
[问题] 网页元素问题
sicao
[问题] 请问一题正则表达式
fmtshk
Re: [请问] regexp的replace?
vernc
[请问] regexp的replace?
vernc
[问题] Everything找出所有非\d{3}.\w{3,4}$
vernc
[问题] SQL问题请益
ldliu168
[问题] 挑出千分位错误的数字
liquidbox
Links
booklink
Contact Us: admin [ a t ] ucptt.com