特殊字符和字母数字字符之间的区别?

时间:2014-03-17 05:34:37

标签: regex special-characters alphanumeric

截至目前,我认为字母数字字符只是字母和数字的集合。

但是从here读完后,我理解字母数字字符将包含一些特殊字符。

特殊字符和字母数字字符之间有什么区别吗?

6 个答案:

答案 0 :(得分:0)

我认为字母数字包含字母和数字(也可能包含上面引用的特殊字符),但特殊字符特别是包含@,&和*等字符的集合。

答案 1 :(得分:0)

字母数字字符的集合完全取决于您使用的语言。如果它是关于你正在谈论的正则表达式,我想告诉你,对于最基本的字母数字选择,我们使用\w,其中包括大写/小写字母,数字和下划线。

\w stands for "word character", usually [A-Za-z0-9_]. 
   Notice the inclusion of the underscore and digits
同样

\W is the negation of \w

答案 2 :(得分:0)

单词“alphanumeric”(或有时“alphameric”)通常仅表示基本的拉丁字母A到Z和a到z加上公共数字0到9,但也可能包括一些其他字符。附加字符通常是某些上下文中的标识符中允许的其他字符(例如编程语言)。例如,在Perl和JavaScript中,\w匹配任何字母数字字符,下划线(下划线,低行)“_”计为字母。

问题中链接的页面说:“在某些用法中,字母数字字符集可能包括大写和小写字母,标点符号和符号(例如@,&和*)。对于英语以外的其他语言,字母数字字符包括字母变体,如é和ç。“这完全取决于您的定义和惯例; “字母数字”意味着人们的意思。但是这种广泛(和变化)的定义在信息技术中并不正常。

因此,除非另有说明或可从上下文推断,否则应该期望“字母数字”对应于[A-Za-z0-9]匹配的内容(在通用的regexp语法中)。

答案 3 :(得分:0)

Special charactersAlpha numeric characters属于两个不同的集合(类别)。您指定的链接说:

  

在为英语用户设计的计算机中,使用字母数字(有时被视为字母数字)   字符s是由26个字母字符A到Z组合而成的   10个阿拉伯数字,0到9。

根据链接中给出的这部分:

  

对于英语以外的其他语言,字母数字字符包括字母变体,例如é和ç。

因此取决于使用情况,因此需要在此集合中考虑很少的字符,因为它们需要与之结合使用。例如,It is a simple example. Isn't it ?必须使用'?来赋予其特定含义。所以上面引用的陈述似乎是在解决这一点。

就REGEX而言,我们有一个预定义的集合,将字母数字表示为[A-Za-z0-9],不包括任何特殊字符,\w[a-zA-z0-9_],包括_作为特殊字符字符。

答案 4 :(得分:0)

这里的其他答案很好地解决了什么问题,而字母数字是...但不是其存在的原因。

一个重要的原因是无需检查语言之间的字符差异即可启用跨不同语言环境的代码。

考虑字母数字字符的另一种方法是,它们具有书面语言可接受的排序顺序。每个人都同意a comes before b,但是我们当中只有少数人知道ASCII中的9 comes before :; comes before <

答案 5 :(得分:0)

在Unicode中,有字母和数字类别,但请注意,我们认为“字母数字”的类别可能包含其他类别的同位点,例如作为é一部分的组合重音符(Combining Mark),这些点不被考虑如果与符号结合使用字母数字。因此,它不再是类别的简单结合。

我们直观地认为是字母数字字符的内容可能对应于字母或数字类别中的单个代码点,后跟零个或多个组合标记。然后,我们可能需要考虑类似字母的符号,封闭标记,组合符号等等。