Javascript 用正则表达式检测每个单词的第一个字母是否为大写

Javascript 用正则表达式检测每个单词的第一个字母是否为大写,javascript,regex,Javascript,Regex,我有这个字符串,例如: 你好,今天是星期四 我希望我的正则表达式只匹配字母:H、W和T 请,有人可以帮我用Javascript来做这件事 谢谢 字符类:仅匹配字母H、W和T 您可以使用以下简单的正则表达式: [HWT] 括号创建了一个字符类,表示“匹配类中的一个字符” 例如,要获得第一个匹配项: var myregex = /[HWT]/; var matchArray = myregex.exec(yourString); if (matchArray != null) { them

我有这个字符串,例如:

你好,今天是星期四

我希望我的正则表达式只匹配字母:H、W和T

请,有人可以帮我用Javascript来做这件事


谢谢

字符类:仅匹配字母
H
W
T

您可以使用以下简单的正则表达式:

[HWT]
括号创建了一个字符类,表示“匹配类中的一个字符”

例如,要获得第一个匹配项:

var myregex = /[HWT]/;
var matchArray = myregex.exec(yourString);
if (matchArray != null) {
    thematch = matchArray[0];
} else {
    thematch = "";
}

字符类:仅匹配字母
H
W
T

您可以使用以下简单的正则表达式:

[HWT]
括号创建了一个字符类,表示“匹配类中的一个字符”

例如,要获得第一个匹配项:

var myregex = /[HWT]/;
var matchArray = myregex.exec(yourString);
if (matchArray != null) {
    thematch = matchArray[0];
} else {
    thematch = "";
}
这个怎么样

var string = 'Hello World today is Thursday';
string.match(/\b[A-Z]/g);
    // \b matches the beginning of the word
    // [A-Z] matches only capital letters
    // g makes it a greedy search that searches the entire string for all matches, rather than just first.

// returns ['H','W','T']
如果希望得到完整的单词,而不仅仅是第一个字母,可以在每个大写字母后添加\w+,以匹配所有非空白字符

var string = 'Hello World today is Thursday';
string.match(/\b[A-Z]\w+/g);
// returns ['Hello', 'World', 'Thursday']
这个怎么样

var string = 'Hello World today is Thursday';
string.match(/\b[A-Z]/g);
    // \b matches the beginning of the word
    // [A-Z] matches only capital letters
    // g makes it a greedy search that searches the entire string for all matches, rather than just first.

// returns ['H','W','T']
如果希望得到完整的单词,而不仅仅是第一个字母,可以在每个大写字母后添加\w+,以匹配所有非空白字符

var string = 'Hello World today is Thursday';
string.match(/\b[A-Z]\w+/g);
// returns ['Hello', 'World', 'Thursday']

您可以使用
\b
regex标记定义单词边界。将这与确保第一个字母在A-Z范围内以及设置好的字母配对。这将为您提供一个包含首字母大写的单词的数组,然后您可以使用它执行任何操作:

str.match(/\b([A-Z])\w*?\b/g, str);

您可以使用
\b
regex标记定义单词边界。将这与确保第一个字母在A-Z范围内以及设置好的字母配对。这将为您提供一个包含首字母大写的单词的数组,然后您可以使用它执行任何操作:

str.match(/\b([A-Z])\w*?\b/g, str);

要快速检测每个单词是否都有字幕,您可以将字符串与大写版本进行比较:

function capitalize(str) {
    return str.replace(/^.|\b./g, function(match) {
        return match.toUpperCase();
    });
}

var str = 'Hello World today is Thursday';

console.log(capitalize(str) === str); // false

str = 'Hello World Today Is Thursday';

console.log(capitalize(str) === str); // true

要快速检测每个单词是否都有字幕,您可以将字符串与大写版本进行比较:

function capitalize(str) {
    return str.replace(/^.|\b./g, function(match) {
        return match.toUpperCase();
    });
}

var str = 'Hello World today is Thursday';

console.log(capitalize(str) === str); // false

str = 'Hello World Today Is Thursday';

console.log(capitalize(str) === str); // true

string.match(/[A-Z]/g)
因此预期的输出仅是以大写字母hw和tohmy开头的单词!!我忘了用“g”。谢谢可能是
(?:([A-Z])?(?:[A-Z]+?)+
字符串。匹配(/[A-Z]/g),因此预期的输出仅是以大写字母hw和TOh my开头的单词!!我忘了用“g”。谢谢也许
(?:([A-Z])?(?:[A-Z]+)+
。如果我想知道每个单词的结尾,那怎么办?今天是星期四。我想返回:O,D,y要匹配单词的结尾,您可以翻转[A-Z]和\b,如下所示:string.match(/[A-Z]\b/g)您甚至可以将\w+添加到单词的开头以获得完整的单词。string.match(/\w+[A-Z]\b/g)还有一个问题,如果我想将这两种方法结合起来呢?在这种情况下,你只需将这两种方法结合起来:string.match(/\b[A-Z]\w+[A-Z]/g)如果我想在每个单词的末尾知道,那怎么办?今天是星期四。我想返回:O,D,y要匹配单词的结尾,您可以翻转[A-Z]和\b,如下所示:string.match(/[A-Z]\b/g)您甚至可以将\w+添加到单词的开头以获得完整的单词。string.match(/\w+[A-Z]\b/g)和另外一个问题,如果我想组合这两种方法,那么您只需组合这两种方法:string.match(/\b[A-Z]\w+[A-Z]/g)