我正在使用wordpress'插件CFDB和我尝试使用重音过滤名称。
插件的创建者告诉我它正在与Regex合作。
过滤器正在使用模式修饰符(如不区分大小写" i"):
[cfdb-datatable form="DB" filter="Name~~/.*$_GET(value2filter).*/i"]
现在,我想添加一种"模式修饰符"对重音不敏感。我已经尝试添加重音和他们的unicode翻译,但它不适用于短代码。有什么想法吗?
答案 0 :(得分:0)
忽略重音,即将"é"
与"e"
匹配,无法使用单个unicode点字符“优雅地”完成。你必须做类似的事情:
/jos[eé]/i
要匹配Jose
的重音变体,您必须在应用层中构建正则表达式,这必须知道每个字母的所有变体。
但是,如果您的输入字符使用diacritic marks重音(与前一个字符“组合”的单独代码点),您可以使用posix变音符号类\p{M}
,例如:
/jose\p{M}?/i
然后你可以在每个字母(或者可能只是每个元音)之后插入\p{M}?
来创建正则表达式。