如何使用正则表达式删除/ 1或/ 2?

怪异欧米茄

正则表达式专家

这是我要使用正则表达式解析的以下代码行:

@ERR030882.2595 HWI-BRUNOP16X_0001:3:1:6649:5175#0/1

我想获得以下内容:

@ERR030882.2595 HWI-BRUNOP16X_0001:3:1:6649:5175#0

我在rubular.com上写了以下正则表达式:

(@.* *.)(!?(\/.))

我的想法是使用否定删除/ 1 (!?(\/.))但是,这会产生整条生产线吗?

@ERR030882.2595 HWI-BRUNOP16X_0001:3:1:6649:5175#0/1

为什么(?!thisismystring)不删除/ 1?我用这个来搜索,但他们似乎暗示了我已经在尝试的类似事情?我非常感谢您的帮助。

鲍罗丁

我认为您要编写的是/(\@.* .*)(?=\/\d)/(您需要转义at符号@以防止Perl将其视为数组),但是您需要一个积极的前瞻性,因为您要匹配所有内容,直到后面的字符都用斜杠代替一个数字。

这是一个演示程序。

use strict;
use warnings;
use 5.010;

my $s = '@ERR030882.2595 HWI-BRUNOP16X_0001:3:1:6649:5175#0/1';

$s =~ /(\@.* .*)(?=\/.)/;

print $1, "\n";

但是,最好复制整个字符串并删除斜杠及其后的所有内容,就像这样

use strict;
use warnings;

my $s = '@ERR030882.2595 HWI-BRUNOP16X_0001:3:1:6649:5175#0/1';

(my $fixed = $s) =~ s{/\d+$}{};

print $fixed, "\n";

输出

@ERR030882.2595 HWI-BRUNOP16X_0001:3:1:6649:5175#0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在正则表达式中使用 java 找到“2 秒”“1 秒”?

如何使用正则表达式仅匹配1个或2个字符

如何使用正则表达式在特定字符后获取 1 或 2 个字符?

PCRE正则表达式。从字符串2的末尾删除字符串1,使用任意数量的*字符

正则表达式删除 1. 括号内的文本 2.numbers

正则表达式删除重复的空白只留下 1 或 2 次出现

如何在PostgreSQL中使用正则表达式每2个字符加1分?

正则表达式匹配1或2次出现

正则表达式2合1进行评论

如何创建等于1,2,3的正则表达式模式

使用正则表达式中的 $1 和 $2 值解析日期时间

正则表达式-使用(1)连字符或(2)句子结尾的过滤器

使用正则表达式量词查找命令,例如{1,2}

正则表达式:如何在(1,2)(1,1)(1,1)中捕获数字

当同一URL中有2个动态值且其中1个连续变化时,如何使用正则表达式?

如何使用正则表达式在lookhead中给出范围,例如^(?=(.*[az]){1,3})(?=.*[0-9]).{2,5}$

仅在$ 1 <$ 2的情况下,如何才能使我的Perl正则表达式匹配?

如何在JavaScript中为(“ 1:2,2.2,3:4,4.1,5”)做正则表达式?

Java正则表达式在回溯中只能使用1个量词(需要2个)

使用括号捕获perl regex(正则表达式),但未按预期打印$ 1或$ 2变量

使用正则表达式查找较大数字中的所有 1 位和 2 位数字

使用正则表达式获取多个匹配项以1或2位数字,点和空格开头

$ 1,$ 2等在正则表达式中是什么意思?

1.1, 2.-1, 2.3.30 等模式的正则表达式

/someChars1@someChars2BOT 的正则表达式

正则表达式匹配cond1或匹配cond2在单个命令中

正则表达式:/(\w)(\w*)(\s|$)/g, "\$2\$1ay\$3"

Perl 将 2 个正则表达式合并为 1 个

正则表达式匹配* RandomName($ variable1,$ variable2)