越南人物的正则表达式

lam*_*com 6 php regex unicode diacritics

我有一个字符串,并希望删除任何字符,不管在下面的任何情况下:

  • 不在此列表中:ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂăă

  • 不在[az 0-9 AZ]

  • 不是:_和白色空间.

任何人都可以帮助我在PHP中的这个正则表达式?

Gum*_*mbo 7

试试这个正则表达式:

/[^a-z0-9A-Z_ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚ?????àáâãèéêìíòóôõùú??????????????????????????????????????????????????????????????????????????????????????????Ý?????????]/u
Run Code Online (Sandbox Code Playgroud)

ü修改使得PHP解释模式字符串为UTF-8.

如果这不起作用,请尝试使用Unicode字符属性(\p{L}字母或转义序列) \x{1234}来描述单个Unicode字符或自定义字符范围:

/[^a-z0-9A-Z_\x{00C0}-\x{00FF}\x{1EA0}-\x{1EFF}]/u
Run Code Online (Sandbox Code Playgroud)


son*_*xqt 6

上面的正则表达式缺少?,?并且?是重复的。
正确越南语字符列表: àáã????????â?????èé???ê??????ìí???òóõ??ô???????????ùú?????????????ýÀÁÃ????????Â?????ÈÉ???Ê??????ÌÍ???ÒÓÕ??Ô???????????ÙÚ?????????????Ý
另外,请记住在string.normalize('NFC')使用正则表达式测试之前以 NFC 形式 ( )规范化字符串。在这里阅读更多。