【发布时间】:2011-07-26 16:30:36
【问题描述】:
我在一个数组中有这些字符串,我想迭代这个数组并找到匹配的那些(每次匹配检查一行)。
问题是,我找不到正确的正则表达式。
Bird
Cat
Dog
Fish
CatDog
DogCat
目前,使用RegexBuddy(该死的好软件!!),我有这个正则表达式:
(?!Cat\b)\b\w+
我想在其中添加“Dog”,因此在一次正则表达式匹配尝试中,我会得到一个匹配结果,你知道,就像 OR 运算符一样。
我想让它一次性检查“猫”或“狗”或“鱼”是否存在。
有什么想法吗?
【问题讨论】:
-
这是您的实际问题还是它的简化版本?如果您正在寻找文字字符串而不是可以采用变量 froms 的模糊表示,您最好在集合上使用
.contains()、.equals()等方法 -
@TheCapn -
contains()和equals()可能会产生更具可读性的代码,但我希望正则表达式对此更有效。