不以 di 和 men(前缀)开头的单词
Word not starting with di and men (prefix)
我在创建符合以下条件的正则表达式时遇到问题:
- 前缀:不以“di”和“men”开头
- 字符序列:a-z
- 后缀:结束于:
• 在,在,啊,啊,
• 元音序列(a、e、i、o、u),
• 然后是“wi”,
• 以 i
结尾的辅音序列
这是我创建的正则表达式,但它似乎不起作用。请帮助我。
$count = preg_match_all("^(^\bdi|^\bmen]\w*(in|at|ah|iah)((a|e|i|o|u)(wi)((?!(a\e\i\o\u)i$/",$value,$match);
例如,输出应捕获单词 "lain",而不是 "dian"。
试试下面的正则表达式:
^((?!di|men)[a-z]+(in|at|ah|iah)[aeiou]*(?:wi)?[a-z]*i?)$
解释:
^((?!di|men) assert that string does not start with 'di' or 'men'
[a-z]+ one or more sequence of characters a-z
(in|at|ah|iah) ends with on these patterns
[aeiou]* followed by optional sequence of vowels a,e,i,o,u
wi followed by optional 'wi'
[a-z]* optional sequence of characters a-z
i?)$ optional 'i'
此处演示:
我在创建符合以下条件的正则表达式时遇到问题:
- 前缀:不以“di”和“men”开头
- 字符序列:a-z
- 后缀:结束于: • 在,在,啊,啊, • 元音序列(a、e、i、o、u), • 然后是“wi”, • 以 i 结尾的辅音序列
这是我创建的正则表达式,但它似乎不起作用。请帮助我。
$count = preg_match_all("^(^\bdi|^\bmen]\w*(in|at|ah|iah)((a|e|i|o|u)(wi)((?!(a\e\i\o\u)i$/",$value,$match);
例如,输出应捕获单词 "lain",而不是 "dian"。
试试下面的正则表达式:
^((?!di|men)[a-z]+(in|at|ah|iah)[aeiou]*(?:wi)?[a-z]*i?)$
解释:
^((?!di|men) assert that string does not start with 'di' or 'men'
[a-z]+ one or more sequence of characters a-z
(in|at|ah|iah) ends with on these patterns
[aeiou]* followed by optional sequence of vowels a,e,i,o,u
wi followed by optional 'wi'
[a-z]* optional sequence of characters a-z
i?)$ optional 'i'
此处演示: