2015-04-02 31 views
2

我正在与js(javascript)正则表达式字面表达式,但我想答案适用于某种形式的所有正则表达式。是否可以扩展正则表达式元字符的范围?

我只是想知道是否有可能做到这一点: /\ W + [多个字符] /克

(请忽略不正确的表达,这是仅用于说明)

或者我们锁定了元字符意义的终结,如果我们要持有更多字符,我们必须编写整个范围构造,即[aZ ...更多字符]?

由于这是一个是/否的问题,所以我很希望有这样的例子可以帮助我们解决这个问题。

谢谢。

回答

2

您可以创建自己的角色类是这样的:

/[\wйцукенгшщз]+/g 

而你,也就能够通过“Z”赶不只是“一”,“B”,也西里尔字母“й”, 'ц' 等

实施例(在此,最后的 'a' 为拉丁文,其余是西里尔字母):

var re = /[\wа-яА-ЯёЁ]+/; 
 
var str = 'Славa'; 
 
var m; 
 
    
 
if ((m = re.exec(str)) !== null) { 
 
    if (m.index === re.lastIndex) { 
 
     re.lastIndex++; 
 
    } 
 
    alert(m[0]); 
 
}

2

您无法更改\w的覆盖范围,但可以在另一个类中使用它。例如,[\wéà][a-zA-Z0-9_éà]的快捷方式。

+0

谢谢你的快速回答。我将stribizhev设置为正确的答案,只是因为有更多的信息。 – micnolmad 2015-04-02 10:50:28

1

答案是肯定的,例如:

[\w\$\€] 

将匹配\ W + 2个额外字符$和€。这相当于:

[a-zA-Z0-9_\$\€] 
+0

谢谢你的快速回答。我将stribizhev设置为正确的答案,只是因为有更多的信息。 – micnolmad 2015-04-02 10:50:41

相关问题