Commit adea255320863a8a1d8987f4020a449815dd3de3
1 parent
805479e7
feat: 正则修改
Showing
2 changed files
with
31 additions
and
9 deletions
src/views/basic/askTestQuestion/components/wrongQuestionDialog.vue
| @@ -553,10 +553,21 @@ export default { | @@ -553,10 +553,21 @@ export default { | ||
| 553 | // 正则表达式: | 553 | // 正则表达式: |
| 554 | const regexs = [/[0-9]+[.)]/, /(\d+分)/, /^(\d{1,3})/]; | 554 | const regexs = [/[0-9]+[.)]/, /(\d+分)/, /^(\d{1,3})/]; |
| 555 | 555 | ||
| 556 | - regexs.forEach((regex) => { | ||
| 557 | - input = input.replace(regex, ""); | ||
| 558 | - }); | ||
| 559 | - // 如果没有匹配,直接返回原字符串 | 556 | + // 使用正则表达式匹配并处理输入字符串 |
| 557 | + for (const regex of regexs) { | ||
| 558 | + const match = input.match(regex); | ||
| 559 | + if (match) { | ||
| 560 | + if (regex === regexs[2]) { | ||
| 561 | + // 如果匹配第三条规则,使用substring截取返回结果的长度加1 | ||
| 562 | + const matchLength = match[0].length; | ||
| 563 | + return input.substring(matchLength + 1).trim(); | ||
| 564 | + } else { | ||
| 565 | + // 如果匹配第一条或第二条规则,替换匹配的部分 | ||
| 566 | + input = input.replace(regex, ""); | ||
| 567 | + } | ||
| 568 | + } | ||
| 569 | + } | ||
| 570 | + | ||
| 560 | return input; | 571 | return input; |
| 561 | }, | 572 | }, |
| 562 | 573 |
src/views/basic/askTestQuestion/wrongQuestion.vue
| @@ -592,13 +592,24 @@ export default { | @@ -592,13 +592,24 @@ export default { | ||
| 592 | this.getClassList(); | 592 | this.getClassList(); |
| 593 | }, | 593 | }, |
| 594 | processString(input) { | 594 | processString(input) { |
| 595 | - // 正则表达式 | 595 | + // 正则表达式: |
| 596 | const regexs = [/[0-9]+[.)]/, /(\d+分)/, /^(\d{1,3})/]; | 596 | const regexs = [/[0-9]+[.)]/, /(\d+分)/, /^(\d{1,3})/]; |
| 597 | 597 | ||
| 598 | - regexs.forEach((regex) => { | ||
| 599 | - input = input.replace(regex, ""); | ||
| 600 | - }); | ||
| 601 | - // 如果没有匹配,直接返回原字符串 | 598 | + // 使用正则表达式匹配并处理输入字符串 |
| 599 | + for (const regex of regexs) { | ||
| 600 | + const match = input.match(regex); | ||
| 601 | + if (match) { | ||
| 602 | + if (regex === regexs[2]) { | ||
| 603 | + // 如果匹配第三条规则,使用substring截取返回结果的长度加1 | ||
| 604 | + const matchLength = match[0].length; | ||
| 605 | + return input.substring(matchLength + 1).trim(); | ||
| 606 | + } else { | ||
| 607 | + // 如果匹配第一条或第二条规则,替换匹配的部分 | ||
| 608 | + input = input.replace(regex, ""); | ||
| 609 | + } | ||
| 610 | + } | ||
| 611 | + } | ||
| 612 | + | ||
| 602 | return input; | 613 | return input; |
| 603 | }, | 614 | }, |
| 604 | 615 |