正则表达式的重复模式和反模式的问题

你可以用正则表达式选择器的大写版本 来转化任何匹配。
举个例子:\s 匹配任何空白字符,\S 匹配任何非空白字符。
任务
用 /\S/g 来匹配字符串testString中的所有非空白字符。

var testString = "How many non-space characters are there in this sentence?";
var expression = /\S/g;  // 请修改这一行
// 用 nonSpaceCount 存储 testString 中匹配到 expression 的次数
var nonSpaceCount = testString.match(expression).length;

/\S/g   次数为49

/\S+/g 次数为9, 为什么?

/\S+/g 次数为18, 为什么?

/\s/g 次数为 8

/\s+/g 次数为8

/\s*/g 次数为58, 为什么?


不太理解: 上面的3个输出为什么为9,18,58?

match    一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到时返回null。    

+     匹配前面一个表达式1次或者多次。

*      匹配前一个表达式0次或多次。


weibo_清流如我_0
浏览 1486回答 1
1回答

Stardust1001

\S+是(非空格,连续的非空格),9个单词
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript