标签: regular-expressions

19
推荐指数
1
解决办法
537
查看次数

从 bash 中的 GitHub url 中提取存储库名称

给定任何 GitHub 存储库 url 字符串,例如:

git://github.com/some-user/my-repo.git
Run Code Online (Sandbox Code Playgroud)

或者

git@github.com:some-user/my-repo.git
Run Code Online (Sandbox Code Playgroud)

或者

https://github.com/some-user/my-repo.git
Run Code Online (Sandbox Code Playgroud)

从以下任何字符串中bash提取存储库名称的最佳方法是什么my-repo?该解决方案必须适用于上面指定的所有类型的 url。

谢谢。

bash regex strings regular-expressions github

12
推荐指数
4
解决办法
2万
查看次数

nginx 简单的正则表达式位置

如果 url 的前 5 位数字是数字,我需要在 nginx 中设置一个位置参数。

site.com/12345/ or site.com/12345
Run Code Online (Sandbox Code Playgroud)

但我似乎一辈子都无法得到正确的正则表达式。

这些都不起作用。

location ^/([0-9]) { }
location ^/(\d\d\d\d\d) {}
location /(\d\d\d\d\d) {}
Run Code Online (Sandbox Code Playgroud)

nginx regex regular-expressions

10
推荐指数
2
解决办法
3万
查看次数

如何查找不包含给定搜索字符串的文件

我有一个命令可以找到所有包含字符串“Font”的 PDF 文件

find /Users/me/PDFFiles/  -type f -name "*.pdf" -exec grep -H 'Font' '{}' ';'
Run Code Online (Sandbox Code Playgroud)

如何更改此命令以使其相反?查找所有不包含搜索字符串“字体”的 PDF 文件

linux grep regular-expressions

9
推荐指数
2
解决办法
1万
查看次数

如何仅获取所有正在运行的进程 ID?

我知道

ps ax
Run Code Online (Sandbox Code Playgroud)

返回 pid

1 ?        Ss     0:01 /sbin/init
2 ?        S<     0:00 [kthreadd]
3 ?        S<     0:00 [migration/0]
Run Code Online (Sandbox Code Playgroud)

我所需要的只是清理这些字符串,但我无法使用 sed 来完成,因为我无法编写正确的正则表达式。你可以帮帮我吗?

linux process sed regular-expressions

8
推荐指数
3
解决办法
3万
查看次数

Apache 2:负 FilesMatch / FilesNotMatch

如果我只想对 apache2.conf 中的某些文件应用规则,我可以使用 <FilesMatch>。

例如:

<FilesMatch ".(gif|jpg|jpeg|png|mpg|avi)$">
    deny from env=hotlink
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

但是有没有与 FilesMatch 相对的,即 FilesNotMatch?

我想要实现的是:

<FilesMatch ".(gif|jpg|jpeg|png|mpg|avi)$">
    <FilesNotMatch "ban">
        deny from env=hotlink
    </FilesNotMatch>
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

(拒绝盗链服务器上的所有图像但横​​幅)

或者你有什么建议我如何修改我的正则表达式以不匹配包含“ban”的任何内容?

regular-expressions apache-2.2

8
推荐指数
1
解决办法
1万
查看次数

grep 查找包含长度大于 x 个字符的字符串的文件?

是否可以在具有长度超过 x 的字符串(没有空格)的目录中找到文件?

linux grep regular-expressions

7
推荐指数
1
解决办法
3万
查看次数

Powershell 2:如何从 ASCII 文本正文中去除特定字符

我正在尝试使用 PowerShell 从字符串中去除奇数字符。我使用以下输出尝试自己学习:

get-help about_regular_expressions
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取一个主要是 ASCII 的字符串,但它有一个需要删除的异常字符。(注册商标符号;R 周围有一个圆圈。)我想从字符串中删除该字符的任何出现,保持其他所有内容完好无损。使用 PowerShell 2.0 完成此操作的最简洁的表达式是什么?

[编辑]

我做了一些进一步的挖掘,我相信问题源于我正在使用的 Import-CSV 调用。

当我将此符号从记事本中剪切并粘贴到 PS 提示符中,并将其分配给一个字符串时,我匹配得很好:

# This code yields 'True'
$string -match "\u00ae"
Run Code Online (Sandbox Code Playgroud)

但是,当我在其中一个字段包含特殊符号的 CSV 文件上使用 Import-CSV 时,我相信原始字节会以某种方式被转换,因为这样做是行不通的:

# This code yields 'False'
$source = Import-CSV -path testing.csv
# The following extracts the entry / line containing the special symbol that was
# copy-and-pasted above
$culprit = $source[5].COMMITTEE_NAME
$culprit -match "\u00ae"
Run Code Online (Sandbox Code Playgroud)

但是,以下确实有效:

# This yields True
$filedata = get-content testing.csv
$filedata[6] -match "\u00ae"
Run Code Online (Sandbox Code Playgroud)

所以我认为我对所有这些的后续问题是:

如何通过 import-csv …

powershell unicode regular-expressions ascii

5
推荐指数
1
解决办法
1万
查看次数

inotifywait 使用和排除

我想通过inotifywait 以递归方式监视创建或修改文件的任何事件的特殊路径,但我不知道我的问题是什么。

我有一些要排除的文件夹。

watchpath
    ->  folder1
        -> file1
        -> ingnorefile1 [IGNORE]
    ->  ignorefolder1 [IGNORE]
Run Code Online (Sandbox Code Playgroud)

如何使用正则表达式正确排除它们?

inotifywait -mr --exclude '(ignorefolder1|folder1\/ingnorefile1)' -e modify -e create -e delete . | while read date time dir file; do
Run Code Online (Sandbox Code Playgroud)

用于实现我的目标的正确正则表达式是什么?

inotify regular-expressions exclude

5
推荐指数
1
解决办法
9838
查看次数

nginx - 哪种方式更好地重定向以及为什么

我想从 www.mydomain.com 重定向到 nginx 中的 domain.com。我在网上搜索,找到了两种方法:

第一种方式

server {
            listen   80;
            server_name  www.domain.com;
            rewrite ^/(.*) http://domain.com/$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)

第二种方式

server {
            listen   80;
            server_name  www.domain.com;
            return 301 $scheme://domain.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

两种方式都有效。但是我应该使用哪一个,为什么?

nginx redirect regular-expressions 301-redirect

4
推荐指数
1
解决办法
852
查看次数