1

今天一直致力于让一个正则表达式工作在付钱给几个人给我写一个执行以下操作(他们都做不到)之后......

允许所有英文字母数字字符,允许所有非英文字母数字字符,例如日语、西班牙语重音等...,并允许此标点符号)('$!.,&

我以为我通过消除所有我不想要的标点符号来破解它,但后来意识到它会让一堆其他不需要的字符,例如项目符号...

_string = string.replace(/[\"\#\%\*\+\/\:\;\<\=\>\?\@\[\\\]\^\_\`\\{\|\}\~]/g, "");

(在 AS3 中)

我也一直在尝试结合\p{L} \p{Nd}计算)('$!.,&他们会让所有语言中的所有字母数字字符通过,然后是标点符号,但还没有破解。

那么有没有办法做到这一点(对于 AS3?) - 允许任何语言的任何字母数字字符,加上这个标点符号)('$!.,&

我很乐意付钱给能做到的人。

谢谢参观。

4

1 回答 1

1

您可以使用\uXXXX元序列来指定字符的 unicode id,但您必须手动为每种语言添加范围。我使用过的最流行语言(非亚洲语言)的一些范围:

zh:
AaBbCcDdEeFfGgHHIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

茹:
АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя

点:
ÁÂÃÀÇÉÊÍÓÔÕÚÜáâãàçéêíóôõúü

德:
abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ

左:
aābcčdeēfgģhiījkķlļmnņoprsštuūvzžAĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ

请:
aąbcćdeęfghijklłmnńoóprsśtuwyzźżAĄBCĆDEĘFGHIJKLŁMNŃOÓPRSŚTUWYZŹŻ

tr:
abcçdefgğhıijklmnoöprsştuüvyzABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ

等:
abcdefghijklmnopqrsšzžtuvwõäöüxyABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY

[所有字符]:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÇÉÊÍÓÔÕÖÚÜßàáâãäçéêíóôõöúüĀāĄąĆćČčĒēĘęĞğĢģĪīİıĶķĻļŁłŃńŅņŚśŞşŠšŪūŹźŻżŽžЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяё

RegExp 匹配所有 [ALL CHARS]:
[\u0041-\u005A,\u0061-\u007A,\u00C0-\u00C4,\u00C7,\u00C9-\u00CA,\u00CD,\u00D3-\u00D6,\u00DA,\u00DC,\u00DF-\u00E4,\ u00E7,\u00E9-\u00EA,\u00ED,\u00F3-\u00F6,\u00FA,\u00FC,\u0100-\u0101,\u0104-\u0107,\u010C-\u010D,\u0112-\u0113,\u0118- \u0119,\u011E-\u011F,\u0122-\u0123,\u012A-\u012B,\u0130-\u0131,\u0136-\u0137,\u013B-\u013C,\u0141-\u0146,\u015A-\u015B ,\u015E-\u0161,\u016A-\u016B,\u0179-\u017E,\u0401,\u0410-\u044F,\u0451]+
于 2013-02-12T10:13:49.323 回答