Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式不匹配(0/\d+;)_Regex - Fatal编程技术网

Regex 正则表达式不匹配(0/\d+;)

Regex 正则表达式不匹配(0/\d+;),regex,Regex,如何匹配除(0/\d+)以外的任何内容: 在本例中,我希望匹配所有内容,但: 0/1 0/111 0/24 最终目标是清理文本文件并在其中只保留以下字符串: 0/1 0/111 0/24 您可以使用sed: sed 's/.*\(0\/[0-9]\+\).*/\1/g' input.txt 说明: 上面的命令将一个0后跟一个正斜杠和一个或多个数字匹配到捕获组1。比赛前后的一切都被扔掉了g表示sed应用替换的次数与模式匹配的次数相同,而不仅仅是一次 输出: 0/1 0/111 0/24

如何匹配除
(0/\d+)
以外的任何内容:

在本例中,我希望匹配所有内容,但:

0/1
0/111
0/24
最终目标是清理文本文件并在其中只保留以下字符串:

0/1
0/111
0/24

您可以使用
sed

sed 's/.*\(0\/[0-9]\+\).*/\1/g' input.txt
说明:

上面的命令将一个
0
后跟一个正斜杠和一个或多个数字匹配到捕获组
1
。比赛前后的一切都被扔掉了
g
表示
sed
应用替换的次数与模式匹配的次数相同,而不仅仅是一次

输出:

0/1
0/111 
0/24 
尝试此操作。替换为
$1
\1
。请参阅演示。使用
多行模式


您不需要删除任何内容,只需匹配即可

grep -o '0/[0-9]\+' file
例如:

$ echo 'fff0/111fff0/111fff' | grep -o '0/[0-9]\+'
0/111
0/111

不清楚您想要实现什么。我需要完全相反的结果。是否可以修改此选项,使每行有多个匹配项并忽略空格,例如:
fff0/111fff0/111fff
grep -o '0/[0-9]\+' file
$ echo 'fff0/111fff0/111fff' | grep -o '0/[0-9]\+'
0/111
0/111