js 正则匹配书名
时间: 2023-07-08 22:04:14 浏览: 276
以下是一个可以匹配中英文书名的正则表达式:
```
/([\u4e00-\u9fa5a-zA-Z0-9\s]+)(\([\u4e00-\u9fa5]+\))?/
```
这个正则表达式包含两个捕获组,第一个捕获组可以匹配包含中文、英文、数字和空格的书名,第二个捕获组可以匹配中文括号中的副标题。例如,可以匹配以下书名:
- 《JavaScript高级程序设计(第3版)》
- 《深入浅出Node.js》
- 《The Lord of the Rings》
- 《百年孤独》
相关问题
正则匹配书名号的内容并改变成红色
可以使用正则表达式和 CSS 样式来实现。
首先,书名号通常是用「《》」表示的,所以可以使用正则表达式 `/《(.+?)》/g` 来匹配文本中的书名号内容。
然后,在 CSS 样式中使用 `color: red;` 来将匹配的文本内容变为红色。
最后,可以使用 JavaScript 将匹配的文本内容包裹在 `<span style="color: red;">` 和 `</span>` 标签之间,从而达到将书名号内容变为红色的效果。
示例代码如下:
```html
<style>
.red {
color: red;
}
</style>
<div id="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.《Aliquam erat volutpat》. Sed auctor euismod felis, vel blandit sapien tempor vel.《Fusce id blandit nisl》.
</div>
<script>
const content = document.getElementById('content');
content.innerHTML = content.innerHTML.replace(/《(.+?)》/g, '<span class="red">$1</span>');
</script>
```
这样,文本中的书名号内容就会被替换成红色的字体。
vue 正则匹配书名号中的内容并且把内容变红色
你可以使用正则表达式来匹配书名号中的内容,然后使用Vue的模板语法来将匹配到的内容变成红色。
下面是一个示例代码:
```html
<template>
<div>
<p v-html="highlightBookTitle('《JavaScript高级程序设计》是一本好书。')"></p>
<p v-html="highlightBookTitle('这本书叫做『Vue.js实战』。')"></p>
</div>
</template>
<script>
export default {
methods: {
highlightBookTitle(str) {
const regex = /《(.+?)》|『(.+?)』/g; // 匹配书名号中的内容
return str.replace(regex, '<span style="color:red">$&</span>'); // 将匹配到的内容用红色字体替换
}
}
}
</script>
```
在上面的代码中,我们定义了一个名为 `highlightBookTitle` 的方法,用于匹配书名号中的内容并将其变成红色字体。该方法接收一个字符串参数 `str`,并使用正则表达式 `/《(.+?)》|『(.+?)』/g` 匹配字符串中的书名号内容,然后使用 `String.prototype.replace()` 方法将匹配到的内容用 `<span style="color:red">$&</span>` 替换,其中 `$&` 表示匹配到的内容本身。
在模板中,我们使用 `v-html` 指令将方法返回的结果渲染到页面上。由于我们使用了 `<span>` 标签来包裹匹配到的内容,并设置了 `style` 属性,因此该内容会以红色字体显示出来。
请注意,由于使用了 `v-html` 指令,因此需要注意防止 XSS 攻击。如果你不确定输入字符串的安全性,请使用其他方式来渲染文本内容。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)