用OR理解正则表达式

时间:2016-04-05 23:36:31

标签: regex

我有一个这样的正则表达式:(' 0' | [' 0' - ' 9'] +'。' [' 0' - ' 9'' - ' f'] *)

为了测试它,我使用了一个名为http://www.regexpal.com/的方便工具 问题在于,当我试图理解逻辑时,我会陷入困境,插入一个' 0'很好,但后来我不知道为什么OR阻止插入其他字符。任何解释都表示赞赏。

2 个答案:

答案 0 :(得分:0)

我不确定你是否理解正则表达式中的括号是如何工作的。不是OR部分阻止你。

('0'|['0'‐'9']+'.'['0'‐'9' 'a'‐'f']*)

'0'与引号相匹配,或者与0000000'z''''9或其他类似内容匹配。引号被视为文字,并且必须转义句点,因为它是通配符。

(0|[0-9]+\.[0-9a-f]*)

可能是您正在寻找的。这将匹配023.3.14159

等值

答案 1 :(得分:0)

你的正则表达式中有很多问题(正如其他人所指出的那样),但我会解释一些关于替换的问题。

大多数正则表达式都会短路交替。

这意味着如果您希望它首先与其他表达式匹配,则应重新排序。