提取“Class”之后的所有第一个单词

时间:2015-11-09 18:52:18

标签: java regex

以下代码返回应用程序aaa bbbb xxxx Ass。但是我也不想提取xxxx Ass字。如何解决这个问题?

<?php

    $mysql = \mysql::_init();

    $rawData = ( \request::is_post ) ? \request::get_raw_post_data : \request::get_raw_get_data;

    $mysql->query("
        INSERT INTO `userStat`
        ( `data` ) 
        VALUES ( '" . $mysql->real_escape_string( json_encode( $rawData) ) . "' )
    ");

预期产出:

public static final String EXAMPLE_TEST = "ddd with fff Node  preceded"
            + " by Class Application  bzxcd by " 
            + "Class aaa ds  preceded by Class bbbb xxxx Ass";

String pattern = ".*?Class(\\s)+(\\w+)";
System.out.println(EXAMPLE_TEST.replaceAll(pattern, "$1$2"));

2 个答案:

答案 0 :(得分:1)

您无需在此处使用replaceAll。使用此正则表达式:

"\\bClass\\s+(\\w+)\\b";

并使用Matcher.find()方法为您提供以下匹配项:

Pattern p = Pattern.compile("\\bClass\\s+(\\w+)\\b");

Matcher m = p.matcher(EXAMPLE_TEST);

while (m.find()) {
    System.out.println(m.group(1));
}

答案 1 :(得分:1)

from datetime import relativedelta
date_start = b['timestamp_utc'].strftime("%Y-%m-%d")
date_end = (b['timestamp_utc'] + relativedelta(days=1)).strftime("%Y-%m-%d")
if Institution.objects.filter(
   timestamp_utc__gte=date_start, timestamp_utc__lt=date_end
).exists():

OutPut:应用程序aaa bbbb