Kristofer Koishigawa b3213fc892 fix(i18n): chinese test suite (#38220)
* fix: Chinese test suite

Add localeTiltes, descriptions, and adjust test text and testStrings to get the automated test suite working.

* fix: ran script, updated testStrings and solutions
2020-03-03 18:49:47 +05:30

3.2 KiB
Raw Blame History

id, title, challengeType, videoUrl, localeTitle
id title challengeType videoUrl localeTitle
587d7dbb367417b2b2512baa Reuse Patterns Using Capture Groups 1 使用捕获组重用模式

Description

您搜索的某些模式将在字符串中多次出现。手动重复该正则表达式是浪费的。有一种更好的方法可以指定何时在字符串中有多个重复子字符串。您可以使用capture groups搜索重复子字符串。括号()用于查找重复子串。你把模式的正则表达式重复在括号之间。要指定重复字符串的显示位置,请使用反斜杠( \ 然后使用数字。此数字从1开始随着您使用的每个其他捕获组而增加。一个例子是\1来匹配第一组。下面的示例匹配以空格分隔的两次出现的任何单词:
让repeatStr =“正则表达式正则表达式”;
let repeatRegex = /\ w +\ s \ 1 /;
repeatRegex.testrepeatStr; //返回true
repeatStr.matchrepeatRegex; //返回[“regex regex”“regex”]
对字符串使用.match()方法将返回一个数组,其中包含与其匹配的字符串及其捕获组。

Instructions

reRegex使用capture groups来匹配在字符串中仅重复三次的数字,每个数字用空格分隔。

Tests

tests:
  - text: 你的正则表达式应该使用数字的速记字符类。
    testString: assert(reRegex.source.match(/\\d/));
  - text: 您的正则表达式应该重复使用捕获组两次。
    testString: assert(reRegex.source.match(/\\1|\\2/g).length >= 2);
  - text: 你的正则表达式应该有两个空格来分隔这三个数字。
    testString: assert(reRegex.source.match(/ |\\s/g).length === 2 || reRegex.source.match(/\(\\s\)(?=.*\\(1|2))/g));
  - text: 你的正则表达式应该匹配<code>&quot;42 42 42&quot;</code> 。
    testString: assert(reRegex.test("42 42 42"));
  - text: 你的正则表达式应该匹配<code>&quot;100 100 100&quot;</code> 。
    testString: assert(reRegex.test("100 100 100"));
  - text: 你的正则表达式不应该匹配<code>&quot;42 42 42 42&quot;</code> 。
    testString: assert.equal(("42 42 42 42").match(reRegex.source), null);
  - text: 你的正则表达式不应该匹配<code>&quot;42 42&quot;</code> 。
    testString: assert.equal(("42 42").match(reRegex.source), null);
  - text: 你的正则表达式不应该匹配<code>&quot;101 102 103&quot;</code> 。
    testString: assert(!reRegex.test("101 102 103"));
  - text: 你的正则表达式不应该匹配<code>&quot;1 2 3&quot;</code> 。
    testString: assert(!reRegex.test("1 2 3"));
  - text: 你的正则表达式应匹配<code>&quot;10 10 10&quot;</code> 。
    testString: assert(reRegex.test("10 10 10"));

Challenge Seed

let repeatNum = "42 42 42";
let reRegex = /change/; // Change this line
let result = reRegex.test(repeatNum);

Solution

// solution required