我正在尝试构建一个正则表达式来检查是否存在此模式:“in”后跟1到3个单词(没有大写字母),后跟“Beijing”。有什么想法吗?
与模式匹配的示例: “在北京南部” “在北京海岸”
与模式不匹配的示例: “实质上这对北京来说是真的”(两者之间的话太多了) “在北京北部”(中间的字首字母大写)
答案 0 :(得分:0)
in \([a-z]\+ \)\{1,2\}Beijing
对反斜杠的需求会因环境而异,但这应该在vim中有效。
答案 1 :(得分:0)
答案 2 :(得分:0)
应该这样做:
in ([a-z]+ ){1,3}Beijing
答案 3 :(得分:0)
这应该与您的所有示例匹配(取决于您使用的语言/风格):
in ([a-z]+ ){1,3}Beijing
请参阅demo @ regex101。
注意:in
之前没有空格,因为它不在您的示例中。因此,如果必须有空格,则必须添加它。
说明:
in #matches "in "
([a-z]+ ) #matches lower-case characters until the next space
{1,3} #preceeding group is matched between 1 and 3 times
Beijing #matches "Beijing"