我怎么能写一个正则表达式,只匹配字母?


当前回答

使用字符组

\D

匹配除数字0-9以外的任何字符

^\D+$

参见这里的例子

其他回答

你可以用

/[a-z]/gi

[]——检查给定输入之间的任何字符

A-z,涵盖了整个字母表

G -----在整个字符串中

我-----得到大写和小写

使用字符集:[a- za -z]匹配a-z中的一个小写字母和大写字母。[a- za -z]+匹配一个或多个字母,^[a- za -z]+$只匹配由一个或多个字母组成的字符串(^和$分别标记字符串的开始和结束)。

如果你想匹配除A-Z之外的其他字母,你可以将它们添加到字符集:[a-zA-ZäöüßÄÖÜ]。或者使用预定义的字符类,如Unicode字符属性类\p{L},它描述了作为字母的Unicode字符。

最近,我在我的表单中使用了这种模式来检查人名,包括字母、空格和特殊字符,如重音符号。

pattern="[A-zÀ-ú\s]+"

正则表达式,很少有人写为“/^[a-zA-Z]$/i”是不正确的,因为最后他们提到了/i,这是不区分大小写的,在第一次匹配后,它将返回。用/g代替/i,它是全局的,你也不需要用^ $作为开始和结束。

/[a-zA-Z]+/g

[a-z_]+匹配下面列表中的单个字符 量词:+在一到无限次之间,尽可能多的次数,在需要的时候回馈 a-z在a和z之间的单个字符(区分大小写) a -Z在a和Z之间的单个字符(区分大小写) G修饰符:全局。所有比赛(第一场比赛不返回)

JavaScript

如果你想返回匹配的字母:

(123例).match (/ [a - z] / gi) / /结果:[“E”,“x”,“一个”,“m”,“p”,“l”、“E”)

如果你想用星号('*')替换匹配的字母,例如:

(‘Example 123个’)。替换(/[a-z]/gi,'*')//结果:"*******123"*