Regex Perl正则表达式输出不包含字符的行
基本上有两种类型的线(简化): “约翰”(2002年) 艾米(1991) 开头可能有选项卡,也可能没有选项卡。我只想得到不包含双引号的行。到目前为止我有Regex Perl正则表达式输出不包含字符的行,regex,perl,Regex,Perl,基本上有两种类型的线(简化): “约翰”(2002年) 艾米(1991) 开头可能有选项卡,也可能没有选项卡。我只想得到不包含双引号的行。到目前为止我有 if( /([^\t]*) [\t]+ ^("(.*?)") ([^\t]+ [\ ]* [\(][\d]+[\)])/) 如果我拿出克拉符号,它会抓住带双引号的线条。我希望它做相反的事情,但它不起作用 ^[^"]*$ 使用允许^$在换行符处匹配的修饰符 我最初建议四处看看,但这里不需要 ^((?!").)*$) 使用允许^$在换行符处
if( /([^\t]*) [\t]+ ^("(.*?)") ([^\t]+ [\ ]* [\(][\d]+[\)])/)
如果我拿出克拉符号,它会抓住带双引号的线条。我希望它做相反的事情,但它不起作用
^[^"]*$
使用允许^$在换行符处匹配的修饰符
我最初建议四处看看,但这里不需要
^((?!").)*$)
使用允许^$在换行符处匹配的修饰符
我最初建议四处看看,但这里不需要
^((?!").)*$)
我想试试这个(或者我简化得太多了?):
jj@ubuntu:~$cat/tmp/x.txt
“约翰”(2002年)
艾米(1991)
rc@ubuntu:~$perl-ne'除非打印/“/”
我想试试这个(或者我简化得太多了?):
jj@ubuntu:~$cat/tmp/x.txt
“约翰”(2002年)
艾米(1991)
rc@ubuntu:~$perl-ne'除非打印/“/”
试试这个:
if (/^\s*([^"\s]+)\s*\((\d+)\)\s*$/) {
}
试试这个:
if (/^\s*([^"\s]+)\s*\((\d+)\)\s*$/) {
}
如果你已经知道的话
if (/regex/) { ... }
做与你想做的相反的事,不要试图弄清楚/regex/
的“对立面”是什么。如果,则使用与相反的词更容易理解:
unless (/regex/) { ... }
if ( !/regex/ ) { ... }
如果你已经知道的话
if (/regex/) { ... }
做与你想做的相反的事,不要试图弄清楚/regex/
的“对立面”是什么。如果
,则使用与相反的词更容易理解:
unless (/regex/) { ... }
if ( !/regex/ ) { ... }
我想你可以用/“/
作为/^[^”]*$/
的等价物,我认为您可以使用/“/
作为/^[^”]*$/
的等价物,它使用了一种称为正向前瞻的技术,您可以在这里用Perl阅读该技术,以获取字符串中所有正则表达式匹配的数组,使用@result=$subject=~m/^.*$/mg;if(/([^\t]*)[\t]+^(?!.$([^\t]+[\]*[[[\d]+[])/)类似于此??”??没有work@user1224478不,只是简单的regex^(?!).$将只匹配不包含双引号的行“您的regex将实际匹配任何不以双引号开头的行。例如,它将匹配“\t\“John\”(2002)
。是的,但是,最好对单个字符使用^[^”]*$
,而对单词使用^(?:(?!)*$
。它使用一种称为正向前瞻的技术,您可以在这里用Perl阅读该技术来获得字符串中所有正则表达式匹配的数组use@result=$subject=~m/^(?)*美元/毫克;如果(/([^\t]*)[\t]+^(?!).$([^\t]+[\]*[([\d]+[)])/)像那样,它就不会work@user1224478不,它只是简单的正则表达式^(?!).$将只匹配不包含双引号的行“您的正则表达式将实际匹配任何不以双引号开头的行。例如,它将匹配“\t\”John\”(2002)“
。是的,但是最好对单个字符使用^[^”]*$
,而对单词使用^(?(?!)*$
。它需要是Perl吗?sed'/“/d”inputfile.txt
它需要是Perl吗sed'/“/d'inputfile.txt
你可以简化(或打高尔夫球)到perl-ne'/“/| | print”x.txt
少一个字符grep-v\“x.txt
直立牙签(或折断的梳子):perl-ne'y |“| | print”x.txt
你可以简化(或打高尔夫球)到perl-ne-ne'/“/| | print'x.txt
少一个字符grep-v\”x.txt
直立牙签(或折断的梳子?):perl-ne'y |”| | | print'x.txt