检查字符串中是否存在子字符串

时间:2020-01-09 12:59:18

标签: javascript typescript

我要检查字符串中是否包含子字符串,但是子字符串包含数字,该数字可以更改。我使用了RegExp,但无法正常工作

let url = "http://localhost:8080/api/issue/board/537/sprint";

url.includes('/issue/board/537/sprint'); // true

值537可以更改

var reg = new RegExp('^[0-9]+$');

url.includes('/issue/board/' + reg  +'/sprint'); // false

6 个答案:

答案 0 :(得分:2)

那不是您使用正则表达式的方式。

创建一个表达式:

const reg = new RegExp('/issue/board/[0-9]+/sprint');

并针对您的网址进行测试:

const url = "http://localhost:8080/api/issue/board/537/sprint";
const matches = url.test(reg); // true

答案 1 :(得分:0)

var reg = new RegExp('/issue/board/[0-9]+/sprint')

答案 2 :(得分:0)

const condition = new RegExp('\/issue\/board\/[0-9]+\/sprint').test('http://localhost:8080/api/issue/board/537/sprint'); // true

答案 3 :(得分:0)

const reg = new RegExp('/issue/board/[0-9]+/sprint');

const url = "http://localhost:8080/api/issue/board/537/sprint";
const matches = url.match(reg);

console.log(matches ? true: false)

答案 4 :(得分:0)

const regex = new RegExp('\/board\/(.*?)\/sprint');

const url = 'http://localhost:8080/api/issue/board/537/sprint';
const test = regex.test(url);
const matches = regex.exec(url);

console.log(test); // true
console.log(matches[1]); //537

答案 5 :(得分:-2)

最简单的方法就是使用indexOf。像这样

let url = "http://localhost:8080/api/issue/board/537/sprint",
    match = '/issue/board/537/sprint';

if (url.indexOf(match) !== -1) {
  // true
} else {
  // false 
}

您要检查的字符串中不包含的字符串的indexOf始终为-1