小编dou*_*own的帖子

为什么我的代码中出现"ClassCastException"?

interface Foo {}
class Alpha implements Foo {}
class Beta extends Alpha {}

class Delta extends Beta {
    public static void main( String[] args ) {
        Beta x = new Beta();
        Foo f=(Delta) x; 
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么ClassCastException会在这里发生?

java

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

如何在单引号字符串中匹配双反斜杠?

我需要区分字符串与单反斜杠和双反斜杠.Perl平等对待它们:

print "\n" . '\qqq\www\eee\rrr';
print "\n" . '\\qqq\www\eee\rrr';
Run Code Online (Sandbox Code Playgroud)

会给出相同的结果:

\qqq\www\eee\rrr
\qqq\www\eee\rrr
Run Code Online (Sandbox Code Playgroud)

更多,接下来的电话:

print "\n" . leadingBackSlash('\qqq\www\eee\rrr');
print "\n" . leadingBackSlash('\\qqq\www\eee\rrr');
print "\n" . leadingBackSlash('\\\qqq\www\eee\rrr');
print "\n" . leadingBackSlash('\\\\qqq\www\eee\rrr');
Run Code Online (Sandbox Code Playgroud)

功能:

sub leadingBackSlash {
    $_ = shift;
    print "\n$_";
    print "\n" . length($_);

    if( m/^\\\\/) {
        print "\ndouble backslash is matched";
    }

    if( m/^\\/) {
        print "\nsingle backslash is matched";
    }
}
Run Code Online (Sandbox Code Playgroud)

会产生结果:

\qqq\www\eee\rrr
16
single backslash is matched

\qqq\www\eee\rrr
16
single backslash is matched

\\qqq\www\eee\rrr
17
double backslash is matched …
Run Code Online (Sandbox Code Playgroud)

regex perl

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

删除HTML标记之间的内容,包括Perl中的标记本身

大约有100个文件,我需要浏览每个文件并删除之间的所有数据<style></style>+删除这些标签.

例如

<html>
<head> <title> Example </title> </head>
<style>
p{color: red;
background-color: #FFFF;
}
div {......
...
}
</style>
<body>
<p> hi I'm a paragraph. </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

应该成为

<html>
<head> <title> Example </title> </head>
<body>
<p> hi I'm a paragraph. </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

此外,在某些文件中,样式模式也是如此

<style type="text/css"> blah </style>
Run Code Online (Sandbox Code Playgroud)

要么

<link rel="stylesheet" type="text/css" href="$url_path/gridsorting.css">
Run Code Online (Sandbox Code Playgroud)

我需要删除所有3种模式.我如何在Perl中执行此操作?

regex perl html-parsing

0
推荐指数
1
解决办法
1505
查看次数

Bash"source"命令返回错误的连接字符串

我有一个像这样的配置文件:

//filename : stat.conf
LAS_SERVER="127.0.0.1"
LAS_PORT=3306
LAS_USER=root
LAS_PWD=root
LAS_DB=test
CONN_STR_LAS_DB="-h$LAS_SERVER -P$LAS_PORT -u$LAS_USER -p$LAS_PWD $LAS_DB"
Run Code Online (Sandbox Code Playgroud)

现在我source像这样运行命令:

$ source ./stat.conf

$ echo $CONN_STR_LAS_DB
testot.0.1
Run Code Online (Sandbox Code Playgroud)

你可以看到结果是错误的.不符合我们的期望.

相反,如果我在shell中运行命令,我可以得到正确的结果:

$ LAS_SERVER="127.0.0.1"
$ LAS_PORT=3306
$ LAS_USER=root
$ LAS_PWD=root
$ LAS_DB=test
$ CONN_STR_LAS_DB="-h$LAS_SERVER -P$LAS_PORT -u$LAS_USER -p$LAS_PWD $LAS_DB"
$ echo $CONN_STR_LAS_DB
-h127.0.0.1 -P3306 -uroot -proot test
Run Code Online (Sandbox Code Playgroud)

这是正确的结果.

所以,我的问题是:为什么我在使用"source ./stat.conf"时得到了错误的结果?

我在另一台计算机上测试了相同的操作,我可以得到正确的结果.有什么我错过了在我的电脑上配置?

我的操作系统是CentOS 5.

linux bash shell redhat centos

0
推荐指数
1
解决办法
399
查看次数

获取"哈希分配中奇数个元素"错误

运行Perl脚本时出现以下错误

Odd number of elements in hash assignment at GenerateInterchangeFromIntegrationManifest.pl line 197.  
{  
    "Change list" : "0"  
}
Run Code Online (Sandbox Code Playgroud)

这是脚本:

my %labelFieldMap = (IUItemName => convertIuItemName,
                      Changelist => sub {},
                     IUItemLevel => createNormalConvert('iuItemLevel'),
                     ContactPOC => \&convertContacts,
                     Cspec => \&convertCspec,
                     IsNew => createBooleanConvert('isNew'),
                     Submitter => createNormalConvert('submitter'),
                     LabelType => createNormalConvert('type'),
                     Revision => createNestedConvert('component', 'revision'),
                     RevisionName => sub {},
                     ComponentBaseName => createNestedConvert('component', 'baseName'),
                     Version => createNestedConvert('component', 'version'),
                     PLMapping => createNormalConvert('plMapping'),
                     BidMapping => createNormalConvert('bidMapping'),
                     ClientId => createNormalConvert('clientId'),
                     Path => \&convertPath,
                     ExtendedData => \&convertExtendedData);
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

perl

0
推荐指数
1
解决办法
1034
查看次数

这段代码意味着什么:`$ Odd =($ Odd =="even")?"奇怪":"偶数";`?

<?php
$Odd = "even";
$query = $MySQLi->query("SELECT id, look, username, motto FROM users WHERE rank =     '7'");
if($query->num_rows > 0):
while($UserRow = $query->fetch_assoc())
{
    $Odd = ($Odd == "even") ? "odd" : "even";
?>
Run Code Online (Sandbox Code Playgroud)

我在某些网站上使用CMS.但我并不完全理解这段代码,特别是这一行:

$Odd = ($Odd == "even") ? "odd" : "even";
Run Code Online (Sandbox Code Playgroud)

你们能帮助我吗?

html css php string content-management-system

0
推荐指数
1
解决办法
175
查看次数

"=>"运算符与数组上下文中的逗号类似吗?

如果我=>在数组结构中使用my $arr = [ a => b ];,那么它是一样的my $arr = [a, b];吗?(实际上我在这里有一个不相关的问题,为什么用这种方式初始化数组不需要带arr前缀@?)

资料来源:http://www.misc-perl-info.com/perl-operators.html

如果这是真的,那么perl是否有充分的理由拥有这个看似模糊的功能?

perl

0
推荐指数
2
解决办法
325
查看次数

为什么这个bash脚本给我一个关于"missing`]'"的错误?

我必须检查文件的存在dir1dir2.然后,递归删除它们,否则打印一些消息.这是我的代码:

if [ -d "dir1"] && [-d "dir2"]; then
 echo "directory exists"
 echo "deleting existing files...."
sleep 2
 rm -r dir1
 rn -r dir1
 echo "exisitng files deleted!!"
else   
 echo "directory does not exist"
fi
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误的表达错误.

./check.sh: line 16: [: missing `]'
directory does not exist.
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

unix linux bash

0
推荐指数
1
解决办法
285
查看次数

匹配字符串但不包含另一个字符串

我正在寻找匹配[ERROR]但不是匹配的正则表达式[ERROR].*Internal Error.我不是很擅长正则表达式.但我试过这个并没有用: -

\[ERROR\].*(?!.*[Ii]nternal [Ee]rror).
Run Code Online (Sandbox Code Playgroud)

有什么建议?

regex perl

0
推荐指数
1
解决办法
62
查看次数

如何查询MSSQL数据库

在此输入图像描述

图01是数据库中的一个表,我想提取数据,如图02所示.

我应该使用哪个查询?

Col_1中的唯一元素应成为新表的列名,Col_2中的元素应成为如图02所示的值.

c# database sql-server-2008

-1
推荐指数
1
解决办法
90
查看次数

如何使用"grep"输出的文件名作为另一个程序的参数

我有这个grep命令输出文件的名称(包含与某些模式的匹配),我想用一些文件解析程序解析这些文件.pipechain看起来像这样:

grep -rl "{some-pattern}" . | {some-file-parsing-program} > a.out
Run Code Online (Sandbox Code Playgroud)

如何将这些文件名作为文件解析程序的命令行参数?

例如,假设grep收益的文件名a,b,c.如何传递文件名,以便它就像我正在执行一样

{some-file-parsing-program} a b c > a.out
Run Code Online (Sandbox Code Playgroud)

linux perl awk grep sed

-1
推荐指数
1
解决办法
1810
查看次数

选择模式后面的指定位数

我需要一个正则表达式来选择一个字符串的一部分.可能的字串:

"Til.: 1231231231 Fax: 1231231231 Kin.: 1231231231"
"Til.: 1231231231"
"Til.: 1231231231 Kin.: 1231231231"
Run Code Online (Sandbox Code Playgroud)

在所有这些情况下,我需要选择"传真:"字符串后面的10位数字(如果存在).

regex

-1
推荐指数
1
解决办法
47
查看次数

尝试用"/"替换"////"不起作用

我需要用"/"替换所有出现的"////".

我有以下代码,但它不起作用:

$res =~ s/\/\/\/\//\//g;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

string perl replace

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