我正在尝试过滤转义特殊字符的字符串并将其转换为小写。例如:"Good morning!"
转换为good morning
。
我当时将一个字符串传递给我的函数。
我已成功过滤了英语字符串,但传递本地语言字符串时出现问题。
如果要包含所有utf-8字符,应该使用哪种类型的正则表达式过滤器字符串?
#include <string>
#include <iostream>
#include <regex>
#include <algorithm>
std::string process(std::string s) {
std::string st;
std::regex r(R"([^\W_]+(?:['_-][^\W_]+)*)");
std::sregex_iterator i = std::sregex_iterator(s.begin(), s.end(), r);
std::smatch m = *i;
st = m.str();
std::transform(st.begin(), st.end(), st.begin(), ::tolower);
return st;
}
int main() {
std::string st = "?žuolas!";
std::cout << process(st) << std::endl; // <- gives: uolas
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个mysql docker容器并执行init sql脚本。不幸的是SQL脚本没有执行。我究竟做错了什么?
version: '3.3'
services:
api:
container_name: 'api'
build: './api'
ports:
- target: 8080
published: 8888
protocol: tcp
mode: host
volumes:
- './api:/go/src/app'
depends_on:
- 'mysql'
mysql:
image: 'mysql:latest'
container_name: 'mysql'
volumes:
- ./db_data:/var/lib/mysql:rw
- ./database/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
restart: always
environment:
MYSQL_USER: test
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
MYSQL_DATABASE: test
ports:
- '3306:3306'
volumes:
db_data:
Run Code Online (Sandbox Code Playgroud)
我执行文件 docker-compose up -d --build