我正在尝试创建一个正则表达式,用于查找以a
开头的字符串,并在字符串中的任何其他位置都有一个或多个b(s)
。
我知道我必须从'^a
开始,但在那之后我就失去了如何让它在那之后的任何地方找到b。我认为我得到的最接近的是'^a.+.b+$'
,我随机试图查看它是否有效,但当然,这是不对的。
答案 0 :(得分:6)
它甚至更简单:
^a.*b
您从a
开头,用0或更多任意字符跟随它,然后是b
。如果你想要的只是至少1 b
,那么在找到第一个b
后,你就不需要明确地匹配任何内容。
您的正则表达式需要一个
字符串a
,b
s。注意这会排除像
这样的字符串ab
,短于正则表达式所需的最小长度4。abasbbc
,不以b
答案 1 :(得分:2)
补充chepner答案,如果你想找到两个不必要的b
,那么你可以使用:
^a.*b.*b
如果要查找必须分开的两个b
,可以使用:
^a.*b[^b]+b
此外,如果您想在b
之后找到两个bb
,例如a
,那么您可以使用
^a.*bb
而且,如果您想找到至少一个b
,那么您可以使用:
^a.*b+
顺便说一句,上面的正则表达式将匹配句子的开头,如果你想匹配整个句子,你可以在模式的末尾添加.*
,如:
^a.*b+.*