我有一个字符串,并希望删除任何字符不在任何情况下:
- 不在此列表中:ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠ Ả Ấ Ầ Ẩ Ẫ Ậ Ắ Ằ Ẳ Ẵ Ặ Ẹ Ẻ Ẽ Ề Ề Ể ưăạ ả ấ ầ ẩ ẫ ậ ắ ằ ẳ ẵ ặ ẹ ẻ ẽ ề ề ể Ễ Ệ Ỉ Ị Ọ Ỏ Ố Ồ Ổ Ỗ Ộ Ớ Ờ Ở Ỡ Ợ Ụ Ủ Ứ Ừ ễ ệ ỉ ị ọ ỏ ố ồ ổ ỗ ộ ớ ờ ở ỡ ợ ụ ủ ứ ừ Ử Ữ Ự Ỳ ỴÝỶ Ỹ ử ữ ự ỳ ỵ ỷ ỹ
- 不在[a-z 0-9 A-Z]中
- 而不是:_和白色。
有谁能帮我在php中使用这个正则表达式吗?
6条答案
按热度按时间rkue9o1l1#
hec6srdp2#
你可以试试,这是传递“ê,,,”与以下正则表达式:
^[a-zA-Z_ÀÁÂÃÈÉÊẾÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêếìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹ\ ]+$
r6vfmomb3#
使用Js可以添加常量正则表达式= /^[^\u00C0-\u1EF9]+$/i;
正则表达式检验(“Vi t”)-〉假
o2gm4chl4#
请尝试以下正则表达式:
u modifier使PHP将模式字符串解释为UTF-8。
如果这不起作用,请尝试使用Unicode character properties(如
\p{L}
)来描述字母,或使用escape sequence\x{1234}
来描述单个Unicode字符或自定义字符范围:5m1hhzi45#
上述正则表达式缺少
ế
,并且ă
和ề
重复。正确越南语字符列表:
àáãạảăắằẳẵặâấầẩẫậèéẹẻẽêềếểễệđìíĩỉịòóõọỏôốồổỗộơớờởỡợùúũụủưứừửữựỳỵỷỹýÀÁÃẠẢĂẮẰẲẴẶÂẤẦẨẪẬÈÉẸẺẼÊỀẾỂỄỆĐÌÍĨỈỊÒÓÕỌỎÔỐỒỔỖỘƠỚỜỞỠỢÙÚŨỤỦƯỨỪỬỮỰỲỴỶỸÝ
另外,在使用正则表达式测试字符串之前,请记住将其规范化为NFC形式(
string.normalize('NFC')
)。阅读更多here。4ngedf3f6#
请注意。越南语Unicode字符可能会“分解”为“combining characters“,其中一个代码点用于基本字符,一个或多个代码点用于附加变音符号,或者它们可能会“precomposed“分解为单个Unicode代码点。组合变音符号不会像预期的那样与正则表达式范围
[]
一起工作,因为无论它们与什么基本字符合并,您都将匹配它们。旧版本的Unicode不包含完整的越南语预排版字符集,因此希望找到带有组合字符的越南语。您可以使用Unicode normalization form C,NFC将组合字符转换为预排版字符。