首页 > 解决方案 > REGEX - 如何在 preg_match 中做变音符号不敏感?

问题描述

标签: phpregexpreg-matchpcre

解决方案


如果您愿意匹配来自任何语言的字母(包括带有双引号的字符),那么您可以使用\p{L}\p{Letter}如下所示:https ://regex101.com/r/UBGQI6/3

根据regular-expressions.info

\p{L} 或 \p{Letter}:来自任何语言的任何类型的字母。

  • \p{Ll} 或 \p{Lowercase_Letter}:具有大写变体的小写字母。
  • \p{Lu} 或 \p{Uppercase_Letter}:具有小写变体的大写字母。
  • \p{Lt} 或 \p{Titlecase_Letter}:当单词的首字母大写时出现在单词开头的字母。
  • \p{L&} 或 \p{Cased_Letter}:以小写和大写变体形式存在的字母(Ll、Lu 和 Lt 的组合)。
  • \p{Lm} 或 \p{Modifier_Letter}:一个像字母一样使用的特殊字符。
  • \p{Lo} 或 \p{Other_Letter}:没有小写和大写变体的字母或表意文字。

唯一的问题是您无法搜索带有变音符号的特定字母,例如È,因此您不能将搜索限制为英文字母。


推荐阅读