Php 8到10个字母单词的正则表达式
我需要一个正则表达式,它匹配以“tion”结尾的8个字母单词或以“able”结尾的10个字母单词 这是我想到的,但出于某种原因,我告诉我,当我尝试匹配字符串时,没有匹配项 我的想法如下:Php 8到10个字母单词的正则表达式,php,regex,regular-language,Php,Regex,Regular Language,我需要一个正则表达式,它匹配以“tion”结尾的8个字母单词或以“able”结尾的10个字母单词 这是我想到的,但出于某种原因,我告诉我,当我尝试匹配字符串时,没有匹配项 我的想法如下: ([a-z]{4}^\btion\b|[a-z]{6}^\bable\b) 链接到regex101-试试这个: \b([a-z]{4}tion|[a-z]{6}able)\b 您在变量部分(例如[a-z]{4})和常量后缀(例如tion)之间使用^\b,这会中断匹配^表示“字符串(或一行)的开头”,而\b
([a-z]{4}^\btion\b|[a-z]{6}^\bable\b)
链接到regex101-试试这个:
\b([a-z]{4}tion|[a-z]{6}able)\b
您在变量部分(例如
[a-z]{4}
)和常量后缀(例如tion
)之间使用^\b
,这会中断匹配^
表示“字符串(或一行)的开头”,而\b
表示“单词边界”。同时使用它没有什么意义,因为字符串的开头总是一个单词边界。\b
匹配一个单词边界。你应该只在单词的开头和结尾,而不是后缀之前。您可以将其置于分组括号之外,因为所有备选方案都应该在单词边界处匹配
\b([a-z]{4}tion|[a-z]{6}able)\b
您根本不需要
^
,它与字符串的开头匹配。我认为您不需要^\b
在选项
或able
后缀之前。这应该行得通:\b([a-z]{4}选项|[a-z]{6}}able)\b
您在这里已经7年了,您应该知道“试试这个”在回答中不是一个很好的解释。以“试试这个”开头并稍后提供解释(在本例中仅为150秒)是很常见的。只需键入“这有什么问题?”?如何通过键入子字符串来匹配精确的子字符串?