我需要一个正则表达式,以匹配以“ tion”结尾的8个字母单词或以“ able”结尾的10个字母单词。
这是我想出的,但是由于某种原因,http://regex101.com告诉我在尝试匹配字符串时没有匹配项。
我的想法如下:
([a-z]{4}^\btion\b|[a-z]{6}^\bable\b)
链接到regex101-Here
答案 0 :(得分:4)
\b
与单词边界匹配。您仅应在单词的开头和结尾使用此字符,而不要在后缀之前使用。您可以将其放在分组括号之外,因为所有其他选项都应在单词边界匹配。
\b([a-z]{4}tion|[a-z]{6}able)\b
您根本不需要^
,它与字符串的开头匹配。
答案 1 :(得分:3)
尝试这个:
\b([a-z]{4}tion|[a-z]{6}able)\b
您在变量部分(例如^\b
)和常量后缀(例如[a-z]{4}
)之间使用tion
,这会中断匹配。 ^
表示“字符串(或行)的开头”,\b
表示“单词边界”。一起使用它没有什么意义,因为字符串的开头始终是单词边界。