我对正则表达式不好,但我想用它来从字符串中提取单词.
我需要的单词应该至少有4个字符,提供的字符串可以是utf8.
示例字符串:
Sus azahares presentangruesospétalosblancosteñidosderosaovioláceoenla parte externa,con numerosos estambres(20-40).
期望的输出:
Array(
[0] => azahares
[1] => presentan
[2] => gruesos
[3] => pétalos
[4] => blancos
[5] => teñidos
[6] => rosa
[7] => violáceo
[8] => parte
[9] => externa
[10] => numerosos
[11] => estambres
)
Run Code Online (Sandbox Code Playgroud) 我有一个处理 Linux CLI 命令及其参数的 Go 函数:
func cmd(cmd string, args ...string) ([]byte, error) {
path, err := exec.Command("/usr/bin/which", cmd).Output()
if err != nil {
return []byte(""), err
}
response, err := exec.Command(string(path), args...).Output()
if err != nil {
response = []byte("Unknown")
}
return response, err
}
Run Code Online (Sandbox Code Playgroud)
由以下内容调用:
func main() {
uname, err := cmd("uname", "-a")
fmt.Println(string(uname))
}
Run Code Online (Sandbox Code Playgroud)
“which”命令返回二进制文件的正确路径,但是当它尝试使用动态路径运行第二个 exec 命令时,返回始终为:
fork/exec /usr/bin/uname
: no such file or directory
exit status 1
Run Code Online (Sandbox Code Playgroud)
然而,如果第二个 exec 命令是硬编码的,则一切都会按预期工作并打印 uname:
response, err := exec.Command("/usr/bin/uname", args...).Output() …Run Code Online (Sandbox Code Playgroud) 我已经在 Heroku 上部署了 Go 应用程序,但是在点击 url 时......它没有给出正确的响应。Heroku 日志看起来像这样:
2015-06-27T10:43:06.839094+00:00 heroku[web.1]: Starting process with command `FlickrImage`
2015-06-27T10:43:08.998400+00:00 heroku[web.1]: State changed from starting to crashed
2015-06-27T10:43:08.998400+00:00 heroku[web.1]: State changed from crashed to starting
2015-06-27T10:43:08.985737+00:00 heroku[web.1]: Process exited with status 0
2015-06-27T10:43:10.795684+00:00 heroku[web.1]: Starting process with command `FlickrImage`
2015-06-27T10:43:13.837301+00:00 heroku[web.1]: Process exited with status 0
2015-06-27T10:43:13.850141+00:00 heroku[web.1]: State changed from starting to crashed
2015-06-27T10:44:41.914412+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/Index" host=morning-ridge-1365.herokuapp.com request_id=89d2e794-a725-4ddf-b437-dbcbd988428c fwd="202.12.83.44" dyno= connect= service= status=503 bytes=
Run Code Online (Sandbox Code Playgroud)
FlickrImage 是我的 go 文件,我创建了一个包含“web: …
尝试创建一个可以找到所有元素总和的2D数组.因为我使用驱动程序检查我的工作,所以我没有将数字输入2D数组.到目前为止,我有这个 - 但它不会成功.我究竟做错了什么?
public static double sum2d (double[ ][ ] array2d)
{
int sum = 0;
for (int row=0; row < array2d.length; row++)
{
for (int col=0; col < array2d[row].length; col++)
{
sum = sum + array2d [row][col];
}
}
return sum;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 cloudformation 中创建 api 网关。一切都很好,除了当我指定路径参数 url 时,我可以在创建的 api 网关中看到它。这是我的 cfn 代码:
GetMethod:
Type: AWS::ApiGateway::Method
Properties:
AuthorizationType: NONE
HttpMethod: GET
Integration:
Type: HTTP
IntegrationHttpMethod: GET
Uri:
Fn::Join:
- ''
- - "http://"
- Fn::ImportValue: !Sub ${project}-${EnvironmentApp}-bn-user-endpoint-url
- "/users"
- "/{users}"
IntegrationResponses:
- StatusCode: 200
ResponseParameters:
method.response.header.Access-Control-Allow-Origin: "'*'"
ResponseTemplates:
application/json: ''
RequestTemplates:
application/json: ''
RequestParameters:
method.request.path.users: true
ResourceId: !Ref UsersPathParam
RestApiId:
Ref: RestApi
MethodResponses:
- StatusCode: 200
ResponseParameters:
method.response.header.Access-Control-Allow-Origin: true
Run Code Online (Sandbox Code Playgroud)
如果您在上面的代码中注意到我特别要求名为 users 的路径参数:
RequestParameters:
method.request.path.users: true
Run Code Online (Sandbox Code Playgroud)
此外,您可以看到创建的 API 网关没有在附加图像中设置路径参数。有任何想法吗?
![支持图片[1]](https://i.stack.imgur.com/tw2Ou.png)
我正在制作一个抓取html,css和js页面的爬虫.爬虫是一个典型的爬虫,有4个go-routine同时运行以获取资源.为了学习,我一直在使用3个测试站点.爬虫工作正常并显示程序完成日志,同时测试其中两个.
然而,在第3个网站中,在获取css链接时发生了太多超时.这最终导致我的程序停止.它获取链接但在连续20多次超时后,程序停止显示日志.基本上它停止了.我不认为这是事件日志控制台的问题.
我需要单独处理超时吗?我没有发布完整的代码,因为它与我正在寻找的概念性答案无关.但是代码是这样的:
for {
site, more := <-sites
if more {
url, err := url.Parse(site)
if err != nil {
continue
}
response, error := http.Get(url.String())
if error != nil {
fmt.Println("There was an error with Get request: ", error.Error())
continue
}
// Crawl function
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Docker来容纳使用Angular CLI构建的应用程序.它只是您使用时出现的默认文件,ng new以便我可以学习如何执行此操作.我正在尝试使用两步构建,其中第一步运行ng-build --prod --build-optimizer,然后将./dist文件夹中的结果放入具有为应用程序提供服务的Nginx的容器中.我知道如果我从我的命令行手动构建应用程序,然后运行一个Dockerfile只有第二步,我可以让Angular应用程序服务,但我希望Docker能为我做到这一点.
这是我的Dockerfile:
FROM node:8.9-alpine as angular-built
COPY package.json package.json
RUN npm install
COPY . .
RUN ng build --prod --build-optimizer
FROM nginx:alpine
LABEL author="Preston Lamb"
COPY --from=angular-built ./dist /usr/share/nginx/html
EXPOSE 80 443
ENTRYPOINT [ "nginx", "-g", "daemon off;" ]
Run Code Online (Sandbox Code Playgroud)
我已尝试在Dockerfile的第一步使用node:8.9-alpine基本映像和johnpapa/angular-cli基本映像.一切都有效,直到RUN ng build --prod --build-optimizer命令,此时它失败并出现此错误:
无法读取null的属性'config'TypeError:无法在Class.run中读取属性'config'的null(/node_modules/@angular/cli/tasks/build.js:15:56)(/ node_modules/@) angular/cli/commands/build.js:216:26)在Class.validateAndRun的新Promise()处解析(/node_modules/@angular/cli/ember-cli/lib/models/command.js:261:20) Promise.resolve.then.then(/ node_modules/@ angular/cli/ember-cli/lib/cli/cli.js:140:24)at
谷歌搜索后,我发现这是因为CLI无法找到该.angular-cli.json文件.然后我读到默认情况下,Linux不会复制隐藏文件,所以它不会复制.angular-cli.json文件,而这就是错误出现的地方.
我的下一步是试图强制复制该文件.我尝试了以下两种方法,在COPY . .命令之前执行此步骤:
COPY .angular-cli.json .angular-cli.json
Run Code Online (Sandbox Code Playgroud)
和 …