问题列表 - 第31874页

在Java中的字符串中间启动正则表达式匹配

我正在使用regexps +一些手动解析在Java中解析一个相对复杂的表达式.我现在正在做的是删除我已经从字符串中解析的内容,所以我接下来要在字符串的开头解析.

我想改变这个,所以我有一个int pos变量,我不修改字符串.但是,类PatternMatcher类似乎都没有标记要匹配的第一个字符的索引.有什么办法吗?

(我知道我可以传递str.substring(pos)给它Matcher,但我想它会更昂贵,并且使我的代码变得复杂一点,因为我经常使用start()end()方法).

java regex

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

PHP转换日期然后JSON编码

我有以下MySQL查询:

<?php
$sql = "SELECT * FROM my_table";
$result = mysql_db_query($DBname,$sql,$link) or die(mysql_error()); 

$rows = array();

while($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
 }

 print json_encode($rows);

?>
Run Code Online (Sandbox Code Playgroud)

其中输出以下JSON格式:

 [
  {
   "id":"100",
   "due_date":"2010-08-24 10:00:36"
  }
 ]
Run Code Online (Sandbox Code Playgroud)

我的问题是:在我的MySQL查询中,我如何能够首先转换/修改一行(在本例中为日期),或者更确切地说,我将如何修改当前查询,使用类似于:

$date = strtotime($r['due_date']);
$new_date = date('j M', $date);
Run Code Online (Sandbox Code Playgroud)

然后JSON对结果进行编码,然后返回:

[
 {
 "id":"100",
 "due_date":"24 Aug"
  }
]
Run Code Online (Sandbox Code Playgroud)

php json

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

如何处理javascript国际化

yii框架中是否有任何机制来翻译javascript源文件中的消息.

例如:

yiic message config-message.php
Run Code Online (Sandbox Code Playgroud)

我可以为所有Yii :: t()生成翻译.php文件.

是否可以使用相同的机制生成.js文件.目前我已经将我的javascript json数据包含在翻译文件返回的表中.

javascript internationalization yii

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

在Codeigniter中写一个数组来配置?

我正在使用我创建的配置文件来存储用户.这肯定不是用于配置的配置,但它是一个非常小的应用程序,我认为这将是一个很好的解决方案.

我的数组看起来像这样:

$config['users'] = array(array('username' => 'username', 'password' => 'password'));
Run Code Online (Sandbox Code Playgroud)

这很好用.我可以快速轻松地检索信息.但是,如果我尝试将新数组(新用户)写入配置文件,我会收到此错误:isset中的非法偏移类型或为空

我正在使用$this->config->item('users', array('username' =>....))哪个似乎不支持数组.

如何将数组写入配置变量?还有另外一种方法吗?

编辑:好的,由于phirschy给出的答案,错误是固定的.我非常确定我可以使用config-> item(),我没有检查手册中的config-> set_item()......但是,它仍然不起作用.这是具体的代码:

        $users = $this->config->item('users');
        array_push($users, array('username' => $this->input->post('username'), 'password' => $this->input->post('password')));
        $this->config->set_item('users', json_encode($users));
        echo json_encode($users);
Run Code Online (Sandbox Code Playgroud)

这段代码是通过Ajax调用的,我有一个警告框,看看它是否正确.他们是.正如你所看到的,我已经尝试将它存储为json而不是数组....但这也不起作用.请帮忙?

谢谢

php codeigniter

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

ConcurrentDictionary作为静态缓存

我正在考虑使用带有ConcurrentDictionary实现的集合的类(单例).该类将用作缓存实现(asp.net/wcf).

您如何从这样的类中明确地公开这些集合,而只是为每个集合公开3个方法(获取,添加,清除)(使用CD中的安全方法)?

c# concurrency caching

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

奇怪的C++预处理器宏语法

我把我的问题提炼到这个代码片段 - 但它是一个更大的程序的一部分,所以我不想要一个不同的方式来做到这一点 - 我需要一种方法来使这项工作!

当我从这段代码生成预处理文件时:

#define OUTER(a, b) \
    a##b
#define INNER(c, d) \
    c##d

enum foo {
    OUTER(INNER(x, y), z)
}; // line 108

int APIENTRY _tWinMain(...)
{
    foo bar = xyz; // line 112
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

enum foo {
    xyz
}; // line 108

int __stdcall wWinMain(...)
{
    foo bar = xyz; // line 112
}
Run Code Online (Sandbox Code Playgroud)

这就是我想要的.但是,如果我尝试编译代码,我得到:

错误C2146:语法错误:在标识符'z'之前缺少'}'第108行
错误C2143:语法错误:缺少';' 在'}'第108行之前
错误C2143:语法错误:缺少';' 在'}'第108行之前
错误C2059:语法错误:'}'第108行
错误C2065:'xyz':未声明的标识符行112

我无法解决这个问题!问题似乎是由于##:

#define OUTER(a, b) \
    a##b
Run Code Online (Sandbox Code Playgroud)

但是为什么(以及如何解决它)超出了我......

c++ concatenation c-preprocessor

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

返回无效的有效代码?

我发现以下代码被Visual C++ 2008和GCC 4.3编译器接受:

void foo()
{

}

void bar()
{
  return foo();
}
Run Code Online (Sandbox Code Playgroud)

它编译时我有点惊讶.这是语言功能还是编译器中的错误?C/C++标准对此有何看法?

c c++

56
推荐指数
3
解决办法
7934
查看次数

PHP垃圾收集很糟糕还是仅仅是我?

我有一个下面的函数,我经常在循环中调用它.

随着内存从1MB上升到156MB,我等了5分钟.PHP的garabage收集器不应该出现并在某些时候减少这个吗?!

是因为我将内存限制设置为256MB?

在回波点2,3,4,它的内存使用量相当不变.它在第4点下降了半个兆位.但第1点是主内存增加发生的地方.可能是因为file_get_html在内存中加载了html文件.

我虽然变量的明确和未设置$html会解决这个问题吗?

function get_stuff($link, $category ){

    $html = file_get_html(trim("$link"));

    $article = $html->find('div[class=searchresultsWidget]', 0);

    echo '1 - > '.convert(memory_get_usage(true)).'<br />';  

    foreach($article->find('h4 a') as $link){

        $next_url = 'http://new.mysite.com'.$link->href;

        $font_name = trim($link->plaintext);        

        $html = file_get_html(trim("$next_url"));

        $article = $html->find('form[class=addtags]', 0);

        $font_tags = '';

        foreach($article->find('ul[class=everyone_tags] li a span') as $link){

            $font_tags .= trim($link->innertext).',';   

        }

        echo '2 - > '.convert(memory_get_usage(true)).'<br />'; 

        $font_name = mysql_real_escape_string($font_name);
        $category =  mysql_real_escape_string($category);  
        $font_tags = mysql_real_escape_string($font_tags);  

        $sql = "INSERT INTO tag_data (font_name, category, tags) VALUES …
Run Code Online (Sandbox Code Playgroud)

php memory garbage-collection

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

打印数组元素

以下C程序的预期输出是打印数组元素.但是当实际运行时,它不会这样做.

#include<stdio.h>

#define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0]))

int array[] = {23,34,12,17,204,99,16};

int main()
{
    int d;

    for(d=-1;d <= (TOTAL_ELEMENTS-2);d++)
        printf("%d\n",array[d+1]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

是什么原因 ?

c arrays

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

C#编译器:/ nostdlib选项

在编译时,如何才能将stdlib(mscorlib.dll)包含到我的C#应用​​程序中?据我所知,所有类都继承System.Object类,该类在mscorlib.dll中定义.更重要的是 - 诸如int之类的类型只是例如System.Int32的别名,它们也在mscorlib中定义.这个选项曾经使用过吗?

.net c# mscorlib

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