Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 任何字符的首次出现_Javascript_Regex - Fatal编程技术网

Javascript 任何字符的首次出现

Javascript 任何字符的首次出现,javascript,regex,Javascript,Regex,我知道如何找到一个预定义字符的第一次出现,比如soa.indexOf(“R”),但是如果您想找到任何字符a-Z的第一次出现,那么假设我的字符串包含数字和其他特殊字符,而我只对“普通”字母感兴趣呢?使用正则表达式: a.match(/[A-Za-z]/); 使用正则表达式 var a = " $#714 Abcd"; answer = a.match(/[A-Za-z]/)[0] console.log(answer); // 'A' 可以使用正则表达式来匹配此表达式: a.match(/^[

我知道如何找到一个预定义字符的第一次出现,比如so
a.indexOf(“R”)
,但是如果您想找到任何字符a-Z的第一次出现,那么假设我的字符串包含数字和其他特殊字符,而我只对“普通”字母感兴趣呢?

使用正则表达式:

a.match(/[A-Za-z]/);
使用正则表达式

var a = " $#714 Abcd";
answer = a.match(/[A-Za-z]/)[0]
console.log(answer); // 'A'

可以使用正则表达式来匹配此表达式:

a.match(/^[A-Za-z][A-Za-z0-9]*$/)

这将检查第一个字符是否为字母,然后其余字符是否为字母数字

此函数将返回一个数组,其中包含任何字母第一次出现时字符串中的位置:

var s = 'asdlkn akn dlkandl nl ndvds';

function getFirstOccurrenceOffset(s) {
    s = s.split("").reverse().join(""); // reverse the string
    var re = /([A-Z])(?!.*\1)/gi;
    var m;
    var result = Array();
    while ((m = re.exec(s)) !== null)
        result.push(s.length - m.index - 1);

    return result.reverse();
}

console.log(getFirstOccurrenceOffset(s));
该函数不区分大小写,但可以删除i修饰符使其区分大小写。

尝试以下操作: