perl匹配一些字符,但不包括某人

时间:2018-11-14 05:50:49

标签: regex perl

我有一些类似于以下的字符串模式

and

第1组将是以下字符的混合字符

(1)包括a-zA-Z,但不包括BCD

(2)包含\ s但不包含\ t

如何为group1使用正则表达式?

像这样吗? ([a-zA-Z | ^ BCD] + | [\ s | ^ \ t] +)

实际上,我想做的是

(group 1)[(group 2)]

我想使用 regex方法包含John并排除Jahn,Jaja和laja。

这将在一个正则表达式声明中包括一些特定的模式,并排除某些特定的模式。

1 个答案:

答案 0 :(得分:2)

当前的Perl正则表达式无法修改字符类;如果要从字符类中排除某些字符,只需枚举所需的字符即可。

{[a-zA-Z]减去[BCD][a-zAE-Z]

\s减去\t[\n\f\r ](还取决于标志等;请参见https://perldoc.perl.org/perlrecharclass.html