小编pol*_*nts的帖子

如何在perl脚本中加入'perl -pne'功能

所以在命令行我可以方便地做这样的事情:

perl -pne 's/from/to/' in > out
Run Code Online (Sandbox Code Playgroud)

如果我需要重复这个和/或我还有其他几个perl -pne转换,我可以将它们.bat放在Windows中的文件中.当然,这是一种相当迂回的方式.我应该编写一个perl包含所有这些正则表达式转换的脚本.

那么你怎么写呢?如果我有一个包含这些行的shell脚本:

perl -pne 's/from1/to1/' in > temp
perl -pne 's/from2/to2/' -i temp
perl -pne 's/from3/to3/' -i temp
perl -pne 's/from4/to4/' -i temp
perl -pne 's/from5/to5/' temp > out
Run Code Online (Sandbox Code Playgroud)

我怎样才能将这些全部放入一个perl脚本中?

perl

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

将字符串解析为JSON

我正在用org.json中的lib解析这个JSON字符串,我无法理解为什么我将下面的输出放到日志中.

ArrayList<String> al = new ArrayList<String>();
JSONObject demo = new JSONObject("{\"00408C88A2E6\":{\"id\":\"00408C88A2E6\",\"name\":\"Lab\"},\"00408C91188B\":{\"id\":\"00408C91188B\",\"name\":\"Lab1\"},\"00408C944B99\":{\"id\":\"00408C944B99\",\"name\":\"Lato1\"},\"00408C944BA0\":{\"id\":\"00408C944BA0\",\"name\":\"Lato\"}}");
Iterator<String> iterator =  demo.keys();
while (iterator.hasNext() ){    
  al.add((String)iterator.next());
  Log.i(LOG_TAG, "size al into while " + al.size());
  Log.i(LOG_TAG, "MAC " + iterator.next() + " for the user " + userId);
} 
Run Code Online (Sandbox Code Playgroud)

记录输出

07-12 08:55:34.056: INFO/parse(285): size al into while 1
07-12 08:55:34.056: INFO/parse(285): MAC 00408C91188B for the user nweb
07-12 08:55:34.066: INFO/parse(285): size al into while 2
07-12 08:55:34.066: INFO/parse(285): MAC 00408C944B99 for the user nweb
07-12 08:55:34.066: INFO/parse(285): size …
Run Code Online (Sandbox Code Playgroud)

java parsing json iterator loops

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

关于正则表达式的问题

我看到了这个说法

$name = ereg_replace("[^A-Za-z0-9.]", "", $name);
Run Code Online (Sandbox Code Playgroud)

[^A-Za-z0-9.]和之间有什么区别[A-Za-z0-9.]

根据我对正则表达式的理解,[]用于包括函数中替换的所有有效字符ereg_replace.

然后包括^进入的目的是[]什么?

谢谢

regex character-class

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

如何在Findbugs中使用@CheckForNull等?

当我通过Findbugs运行时,我收到一个警告:

static @NonNull Object foo(@CheckForNull Object arg) {
    if (arg == null) { // warning on this line
        throw new NullPointerException();
    }
    return "something";

}
Run Code Online (Sandbox Code Playgroud)

警告的详细信息如下:

错误:arg必须是非空的,但标记为可为空的
模式ID : NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE,类型:NP,类别:STYLE

此参数始终以要求它为非空的方式使用,但该参数显式注释为Nullable.使用参数或注释是错误的.

有人能解释一下Findbugs在这里抱怨什么吗?

请注意,我使用的是edu.umd.cs.findbugs.annotations.*成员,而不是javax.annotations.*.(有区别吗?)

为Eclipse 3.6.1设置了FindBugs插件1.3.9.2009-.


Matthew Flaschen建议我使用@NonNull,但现在我遇到了这个问题:

static void blah(@NonNull Object arg) {
    if (arg == null) {
        throw new NullPointerException();
    }
    System.out.println(arg);
}

static @CheckForNull Object bleh() {
    return null;
}

//...
blah(bleh()); // warning …
Run Code Online (Sandbox Code Playgroud)

java eclipse null annotations findbugs

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

如何在存储过程中创建多个视图?

我想创建一个临时存储过程来创建几个视图; 所以这样的事情:

create proc #t1 as
begin
   create view v1 as select 1 as x
   go
   create view v2 as select 2 as x
end
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我在Microsoft SQL Server 2005中执行此操作时,我在第一create view行遇到语法错误.

像这样的东西有效:

create proc #t1 as
begin
   exec('create view v1 as select 1 as x')
   exec('create view v2 as select 2 as x')
end
Run Code Online (Sandbox Code Playgroud)

然而,这似乎是一种做我想做的事情的可怕方式.

那么第一次尝试出了什么问题,在存储过程中创建多个视图的最佳方法是什么?

sql t-sql ddl stored-procedures sql-server-2005

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

Java Switch不兼容的类型布尔Int

我有以下课程:

public class NewGameContract {

public boolean HomeNewGame = false;

public boolean AwayNewGame = false;

public boolean GameContract(){

    if (HomeNewGame && AwayNewGame){
        return true;
    } else {
        return false;
    }
}
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用它时:

            if (networkConnection){

            connect4GameModel.newGameContract.HomeNewGame = true;

            boolean status = connect4GameModel.newGameContract.GameContract();

            switch (status){

                case true:
                    break;

                case false:
                    break;
            }
            return;
        }
Run Code Online (Sandbox Code Playgroud)

我收到错误:

incompatible types found: boolean required: int on the following
`switch (status)` code.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java boolean compiler-errors switch-statement

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

我的正则表达式做错了什么?

我试图捕获"Rio Grande Do Leste":

...
<h1>Rio Grande Do Leste<br />
...
Run Code Online (Sandbox Code Playgroud)

运用

var myregexp = /<h1>()<br/;

var nomeAldeiaDoAtaque = myregexp.exec(document);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

更新:

还有2个问题:

1)搜索(文档)没有产生任何结果,但将其更改为(document.body.innerHTML)工作.这是为什么?

2)我不得不将其更改为:myregexp.exec(document.body.innerHTML)[1] ; 得到我想要的东西,否则它会给我一些结果,包括<h1>.这是为什么?

3)(已回答)为什么我需要使用".*"?我认为它会在()之间收集任何东西?

html javascript regex capturing-group

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

正则表达式,没有最大限制

我需要一个接受所有类型字符(字母,数字和所有特殊字符)的正则表达式,并且miniumum字符数应为15,并且对最大字符没有限制.

regex asp.net string repeat

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