python 字符串搜索字高亮并返给前端
时间: 2023-07-25 14:11:06 浏览: 167
如果你想把高亮后的字符串返回给前端,可以使用 Flask 框架实现一个简单的 Web 应用。具体步骤如下:
1. 导入 Flask 和 re 模块。
2. 创建一个 Flask 应用。
3. 定义一个路由,接收前端传来的字符串和关键字,并返回高亮后的字符串。
4. 在路由函数中使用 re.sub() 方法将匹配的关键字替换为带有高亮样式的字符串。
5. 将高亮后的字符串返回给前端。
下面是一个示例代码:
```python
from flask import Flask, request
import re
app = Flask(__name__)
@app.route('/highlight', methods=['POST'])
def highlight():
# 获取前端传来的字符串和关键字
text = request.form['text']
keyword = request.form['keyword']
# 使用正则表达式进行搜索
pattern = re.compile(keyword, re.IGNORECASE)
result = pattern.sub('\033[1;31m{}\033[0m'.format(keyword), text)
# 返回高亮后的字符串
return result
if __name__ == '__main__':
app.run()
```
在这个示例中,我们定义了一个路由 `/highlight`,接收前端传来的字符串和关键字,并返回高亮后的字符串。在路由函数 `highlight()` 中,我们使用 re.sub() 方法将匹配的关键字替换为带有高亮样式的字符串,然后将结果返回给前端。你可以通过发送 POST 请求来调用这个路由,例如:
```javascript
fetch('/highlight', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'text=Python is a popular programming language, and is widely used in data science.&keyword=Python'
})
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.error(error))
```
这个示例中,我们使用了 JavaScript 的 fetch() 方法来发送 POST 请求,并将字符串和关键字作为请求参数传递过去。在收到服务器返回的响应后,我们将结果打印到控制台中。
阅读全文