Javascript 以下两个字符之间只允许使用a-z和a-z字符:

Javascript 以下两个字符之间只允许使用a-z和a-z字符:,javascript,regex,Javascript,Regex,我想做一个正则表达式,它只允许a-z和a-z字符在:: 像 我的:头:着火了: 我找到了这样的东西 /:.+?:/g 允许之间的所有字符: 如何只允许字符a-z和a-z 只需将A-Z,A-Z放在字符类中,并将其放在两个冒号之间 :[A-Za-z]+: +之后,字符类将重复前面的标记一次或多次。所以这个[A-Za-z]+将匹配一个或多个字母表 在javascript中,需要使用匹配函数,如 > var str = 'My :head: is on :fire:' undefined &

我想做一个正则表达式,它只允许a-z和a-z字符在::

我的:头:着火了:

我找到了这样的东西

 /:.+?:/g
允许
之间的所有字符:


如何只允许字符a-z和a-z

只需将A-Z,A-Z放在字符类中,并将其放在两个冒号之间

:[A-Za-z]+:
+
之后,字符类将重复前面的标记一次或多次。所以这个
[A-Za-z]+
将匹配一个或多个字母表

在javascript中,需要使用匹配函数,如

> var str = 'My :head: is on :fire:'
undefined
> str.match(/:[A-Za-z]+:/g)
[ ':head:', ':fire:' ]

您可以使用
/:[a-zA-Z]*:/g
regex

看一看这张照片

示例代码:

var re = /:[a-zA-Z]*:/g; 
var str = ':mystring:';
var m;

while ((m = re.exec(str)) != null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    // View your result using the m-variable.
    // eg m[0] etc.
}

使用
i
修饰符尝试此操作。

加号后面的问号没有意义,它与星号(+?=.*)相同。在任何情况下,任何字符都将包括“:”,因此您可以指定“除“:”以外的所有字符,包括/:[^::*:/g(但这将包括更多来自a-z和a-z的字符(即/:[a-zA-z]*:/g)?
:[a-z]+: