Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java正则表达式(java字符串)_Java_Regex_String - Fatal编程技术网

java正则表达式(java字符串)

java正则表达式(java字符串),java,regex,string,Java,Regex,String,从这个->承包商:“嗨,这是“保罗”,你好吗?”客户:“嗨……”“嗨,这是“保罗”,你好吗 Java支持,所以香草正则表达式: ”(.*?(?Java支持,所以香草正则表达式: “(.*?(?regexp应该是这样:”(?:\\.[^“\\])*“ 它使用非捕获组?:,匹配任何字符,或不在双引号和反斜杠列表中的单个字符。正则表达式应如下所示:“(?:\.\124;[^”\])*” var text1 = "contractor:\"Hi, this is \\\"

从这个->承包商:“嗨,这是“保罗”,你好吗?”客户:“嗨……”“嗨,这是“保罗”,你好吗 Java支持,所以香草正则表达式:

”(.*?(?Java支持,所以香草正则表达式:


“(.*?(?regexp应该是这样:
”(?:\\.[^“\\])*“


它使用非捕获组
?:
,匹配任何字符
,或不在双引号和反斜杠列表中的单个字符。

正则表达式应如下所示:
“(?:\.\124;[^”\])*”

var text1 = "contractor:\"Hi, this is \\\"Paul\\\", how are you?\" client:\"Hi ....\" <-";
    var regExWithQuotation = "contractor:(.+\".+\".+) client:";
    Pattern p = Pattern.compile(regExWithQuotation);

    var m = p.matcher(text1);
    ;
    if (m.find()) {
        var res = m.group(1);
        System.out.println(res);
    }

    var regExWithoutQuotation = "contractor:\"(.+\".+\".+)?\" client:";
    p = Pattern.compile(regExWithoutQuotation);
    m = p.matcher(text1);

    if (m.find()) {
        var res = m.group(1);
        System.out.println(res);
    }


它使用非捕获组
?:
,匹配任何字符
,或不在双引号和反斜杠列表中的单个字符。

var text1=“承包商:\”你好,这是\\\\“保罗\\”,你好吗?“客户:\”你好……“
var text1=“承包商:\”你好,这是\\\“保罗\\”,你好吗?“客户:\”你好……“你可以使用正则表达式,
(?你可以使用正则表达式,
(?你必须使用正则表达式吗?你可以通过使用
.indexOf()
.substring()
来去除关键字周围的冗余文本,非常简单-你需要在一对双引号内获取文本,即“要匹配的文本”
,并且此文本可能包含其他双引号,前面有反斜杠“
?@AlexRudenko。是的,Alex,我编辑此问题是因为编辑器没有跳过内部引号。是否必须使用正则表达式?您可以使用
.indexOf()
.substring()去掉关键字周围的多余文本
非常简短-您需要在一对双引号内获取文本,即“要匹配的文本”
,并且此文本可能包含其他双引号,前面带有反斜杠
\”
?@AlexRudenko。是的,Alex,我编辑此问题,因为编辑器不会跳过包含最后一个“Hi…”的内部引号虽然.OP不希望这样。是的,我认为应该进行第一次匹配,至少在OP的示例中是这样。使用在线regexp编辑器可以很好地工作,但在java代码中不会包含最终的“Hi…”虽然.OP不希望这样。是的,我认为应该进行第一次匹配,至少在OP的示例中是这样。使用在线regexp编辑器可以很好地工作,但不适用于java代码不是OP的要求。不是OP的要求。
var text1 = "contractor:\"Hi, this is \\\"Paul\\\", how are you?\" client:\"Hi ....\" <-";
    var regExWithQuotation = "contractor:(.+\".+\".+) client:";
    Pattern p = Pattern.compile(regExWithQuotation);

    var m = p.matcher(text1);
    ;
    if (m.find()) {
        var res = m.group(1);
        System.out.println(res);
    }

    var regExWithoutQuotation = "contractor:\"(.+\".+\".+)?\" client:";
    p = Pattern.compile(regExWithoutQuotation);
    m = p.matcher(text1);

    if (m.find()) {
        var res = m.group(1);
        System.out.println(res);
    }
Hi, this is \"Paul\", how are you?