Slider

正则关卡3:匹配多种可能性的文字字符串

正则表达式测试工具

使用正则表达式/coding/,你可以在其他字符串中查找"coding"
这对于搜寻单个字符串非常有用,但仅限于一种匹配模式。
你可以使用|操作符来匹配多个规则。
此操作符匹配操作符前面或后面的字符。
例如,如果你想匹配"yes""no",你需要的正则表达式是/yes|no/
你还可以匹配多个规则,这可以通过添加更多的匹配模式来实现。
这些匹配模式将包含更多的|操作符来分隔它们,比如/yes|no|maybe/

var str = 'You Have Only One Life';
var reg = /Only|Life/;
var regRes = reg.test(str); // 返回 true
console.log(regRes); // 请打开控制台查看
// 在chrome浏览器可以按F12快捷键,切换到Console查看

闯关:完成正则表达式petRegex以匹配"dog""cat""bird"或者"fish"

var petString = "Loen has a pet cat.";
var petRegex = /change/; // 修改这行
var result = petRegex.test(petString);
console.log(result);

正确代码

var petString = "Loen has a pet cat.";
var petRegex = /dog|cat|bird|fish/;
var result = petRegex.test(petString);
console.log(result);

正则关卡2:匹配文字字符串

正则表达式测试工具

在上一个挑战中,使用正则表达式/Hello/搜索到了字符串"Hello"
那个正则表达式在字符串中搜寻"Hello"的文字匹配。
下面是另一个在字符串中搜寻"Loen"的示例:

var testStr = "Hello, my name is Loen.";
var testRegex = /Loen/;
var hasLoen = testRegex.test(testStr); // 返回 true
console.log(hasLoen);

任何其他形式的"Loen"都不会被匹配。
例如,正则表达式/Loen/不会匹配"loen"或者"LOEN"

var testStr = "Hello, my name is Loen.";
var wrongRegex = /loen/;
var hasLoen = wrongRegex.test(testStr); // 返回 false
console.log(hasLoen);

闯关:完成正则表达式 ​bornRegex​,在字符串 ​bornStr​ 中匹配到文本"born"

var bornStr = "When you were born,you were crying and everyone around you was smiling.";
var bornRegex = /search/; // 修改这行
var result = bornRegex.test(bornStr);
console.log(result);

正确代码

var bornStr = "When you were born,you were crying and everyone around you was smiling.";
var bornRegex = /born/; 
var result = bornRegex.test(bornStr);
console.log(result);

正则关卡1:使用 test() 方法

正则表达式测试工具

在编程语言中,正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
通过正则表达式创建匹配模式(规则)可以帮你完成指定​匹配​。
例如, 你想要在字符串"The dog chased the cat"中匹配到"the"这个单词,可以使用如下正则表达式:/the/
注意:正则表达式中不需要引号。

JavaScript 中有多种使用正则表达式的方法。
测试正则表达式的一种方法是使用.test()方法。

.test()方法会把编写的正则表达式和字符串(即括号内的内容)匹配,如果成功匹配到字符,则返回true,反之,返回false

var testStr = "You are a genius";
var testRegex = /are/; // 注意, /are/ 不需要引号
var hasAre = testRegex.test(testStr); // 返回 true
console.log(hasAre); // 在控制台中打印

控制台运行截图:

闯关:使用.test()方法,检测字符串myString是否符合正则表达式myRegex定义的规则。

var myString = "Hello, World!";
var myRegex = /Hello/;
var result = myRegex; // 修改这行

正确代码

var myString = "Hello, World!";
var myRegex = /Hello/;
var result = myRegex.test(myString);