js怎么使用正则表达式获取字符串中的匹配的字符
时间: 2024-03-12 18:44:07 浏览: 60
可以使用JavaScript中的正则表达式方法`match()`或`exec()`来获取字符串中匹配的字符。
`match()`方法将返回一个数组,其中包含与正则表达式匹配的所有子字符串。如果没有匹配项,则返回null。
例如,以下代码将返回一个数组,其中包含字符串中所有的数字字符:
```
let str = "I have 3 apples and 2 oranges.";
let pattern = /\d+/g;
let result = str.match(pattern);
console.log(result); // output: ["3", "2"]
```
`exec()`方法也可以用来获取匹配的字符,但它会在每次调用时返回一个匹配项,直到没有更多的匹配项为止。如果没有匹配项,则返回null。
例如,以下代码将返回字符串中所有的数字字符,与`match()`方法相同:
```
let str = "I have 3 apples and 2 oranges.";
let pattern = /\d+/g;
let result;
while (result = pattern.exec(str)) {
console.log(result[0]); // output: "3" and "2"
}
```
相关问题
js用正则表达式获取字符串<p>你好</p>中的<p></p>
可以使用正则表达式 `/\<\/?p\>/g` 来获取字符串 `<p>你好</p>` 中的 `<p></p>` 标签。具体代码如下:
```javascript
var str = "<p>你好</p>";
var reg = /\<\/?p\>/g;
var matchResult = str.match(reg);
console.log(matchResult); // ["<p>", "</p>"]
```
在上面的代码中,`/\<\/?p\>/g` 是一个正则表达式,其中 `\<` 表示匹配 `<` 字符,`\>` 表示匹配 `>` 字符,`\/?` 表示匹配 `/` 字符出现 0 次或 1 次,`p` 表示匹配 `p` 字符。`g` 表示全局匹配,即查找所有匹配的结果。
然后,通过 `match()` 方法将字符串中所有匹配的结果存储在 `matchResult` 数组中,最后输出结果即可。
js用正则表达式获取字符串'<p>你好</p>'中的'<p></p>'
您可以使用以下正则表达式来获取字符串中的 `<p></p>`:
```javascript
var str = '<p>你好</p>';
var reg = /<p>.*<\/p>/;
var result = str.match(reg)[0];
console.log(result); // 输出:<p>你好</p>
```
这里使用了 `.*` 来匹配任意字符,`\/` 来匹配 `/`,`match()` 方法返回一个数组,所以需要取第一个元素 `[0]`。
阅读全文