如何在正则表达式中一起制作or
和and
。
我们可以在正则表达式(Boo)|(l30o)
中执行此操作,并列出所有基本上与使用正则表达式相关的排列。在这里或正在使用。
我希望以任何形式B
以任何形式匹配O
两次。像[(B)|(l3)][0 o O]{2}
这样的东西。但是,在这种形式下,它也匹配(0O
。
O两次匹配不是问题。
B尝试匹配多个字符匹配时,单个字符匹配就会出现问题。
应匹配: 嘘 b0o L300 I3oO B00
等
所有看起来像Boo的单词,即b - {B,b,l3,I3,i3}
和o - {O, o, 0}
;
答案 0 :(得分:3)
您可以尝试(?:[bB]|[lIi]3)[0Oo]{2}
:
(?:...)
是一个非捕获组[...]
是一个字符类,即其中的任何字符(-
除外,取决于位置)将被假定为字面意思(即[iIl]
匹配i
,L
或 l
,而[(B)|(l3)]
不会按照您的想法执行操作:它匹配任何(
,{{ 1}},B
,)
,|
或l
)。3
表示"或"并匹配整个序列|
是一个数字量词(即{...}
意味着两次)您还可以在表达式的开头使用{2}
使其不区分大小写,即表达式为(?i)
。
答案 1 :(得分:2)
答案 2 :(得分:1)
(B|b|l3|I3|i3)(O|o|0)+
()是一个小组
|是一个或
+是{1,}的量词,表示1或更多