我正在尝试创建一个正则表达式,以查找字符串和一个通配符(或任何其他给定数量的通配符)中的某些字符。
字符可以是任何字母 a-z ,通配符也可以。
到目前为止,我有:^[poe]+$
我对上述正则表达式的意图是匹配任何长度的仅包含字母poe
以及可选地一个其他字母的任何单词。一些可能匹配的“单词”:
但不匹配:
答案 0 :(得分:1)
如果您想断言四个字符以任意顺序出现,那么提前查找可能是这里的一种选择:
^(?=.*p)(?=.*o)(?=.*e)(?=.*q)[A-Za-z]{4,}$
这假设您要匹配poe
中的每一个以及第四个字母q
。
答案 1 :(得分:0)
使用?=
前瞻搜索特定字母,并使用\b
边界限制为3-4个字母:
/\b(?=\w*p)(?=\w*o)(?=\w*e)[a-zA-Z]{3,4}\b/
答案 2 :(得分:0)
[poe]{3}[a-zA-Z]{1}
这意味着“有[一个'p'或'o'或'e'] {出现3次},然后[任何字母] {出现1次}”,跳过了开始标记和结束标记。
答案 3 :(得分:0)
如果[POE]
的字符之一应在字符串中,则[A-DF-NQ-Z]?
可以出现0次或多次,通配符出现0次或1次,则可以使用正向查找,对于通配符使用字符类P
的范围与O
,E
或^(?=.*[POE])[POE]*[A-DF-NQ-Z]?[POE]*$
不匹配:
^
这将匹配
(?=.*[POE])
字符串的开头[POE]*
P
与O
,E
或[A-DF-NQ-Z]?
匹配0次以上[POE]
匹配可选的非[POE]*
P
与O
,E
或$
匹配0次以上availableForNavigation
声明行的结尾