小编Spi*_*ire的帖子

正则表达式前瞻,后观和原子团体

我在我的正则表达式身体中发现了这些东西,但我不知道我能用它们做什么.有人有例子,所以我可以尝试了解它们是如何工作的吗?

(?!) - negative lookahead
(?=) - positive lookahead
(?<=) - positive lookbehind
(?<!) - negative lookbehind

(?>) - atomic group
Run Code Online (Sandbox Code Playgroud)

regex lookaround

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

82
推荐指数
7
解决办法
23万
查看次数

Mysql插入2个表

我想插入2个表

访问:

visit_id int | card_id int
Run Code Online (Sandbox Code Playgroud)

注册:

registration_id int | type enum('in','out') | timestamp int | visit_id  int
Run Code Online (Sandbox Code Playgroud)

我想要的东西:

INSERT INTO `visits` as v ,`registration` as v
(v.`visit_id`,v.`card_id`,r.`registration_id`, r.`type`, r.`timestamp`, r.`visit_id`) 
VALUES (NULL, 12131141,NULL, UNIX_TIMESTAMP(), v.`visit_id`);
Run Code Online (Sandbox Code Playgroud)

我想知道它是否有可能

mysql insert

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

JSON 数组 LL(1) 是否可解析?

我听说如果你解析一些 LL(1) 它会更快所以我想知道你是否想解析一个 JSON 字符串可以通过使用 LL(1) 解析器来完成

grammar json lex

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

Android firebase强制关闭后接收推送消息不起作用

我强行关闭应用程序(模拟)后收到推送消息时遇到问题.

现在,如果我发送推送消息,我会进入adb:

GCM-DMM : broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=THE_PACKAGE_NAME (has extras) }
Run Code Online (Sandbox Code Playgroud)

这来自com.google.android.gms.persistent服务

我试图创建一个adb命令来手动调试它,但它仍然无法正常工作

adb shell am broadcast -a com.google.android.c2dm.intent.RECEIVE -c THE_PACKAGE_NAME
Run Code Online (Sandbox Code Playgroud)

结果:

Broadcasting: Intent { act=com.google.android.c2dm.intent.RECEIVE cat=[THE_PACKAGE_NAME] }
Broadcast completed: result=0
Run Code Online (Sandbox Code Playgroud)

我猜这会导致结果= 0

AndroidManifest.xml中

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="THE_PACKAGE_NAME">

        ......
    <application android:label="@string/app_name"
                android:theme="@style/AlmanappTheme"
                android:icon="@drawable/ic_launcher"
                android:name="AppController">
        ....
             <!-- [START firebase_service] -->
        <service
            android:exported="true"
            android:name=".push.MyFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>
        <!-- [END firebase_service] -->
        <!-- [START firebase_iid_service] -->
        <service
            android:name=".push.MyFirebaseInstanceIDService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
        </service>
        <!-- [END firebase_iid_service] …
Run Code Online (Sandbox Code Playgroud)

android firebase google-cloud-messaging firebase-cloud-messaging

5
推荐指数
0
解决办法
916
查看次数

C中的结构声明错误

我有一个返回的结构问题:

cd.h:15: error: two or more data types in declaration specifiers
Run Code Online (Sandbox Code Playgroud)

它可能很简单......

  struct cd {
        char titel[32];
        char artiest[32];
        int speelduur;  

    };

    typedef struct cd CD;
    struct cdlijst{ 
        CD *item;
        struct cdlijst *next;
    }


    typedef struct cdlijst CDLijst;
Run Code Online (Sandbox Code Playgroud)

c struct

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

在C中接收时发送

我在我的服务器上创建了一段代码作为多线程

问题是,当我在另一个套接字上接收时,它不会发送数据.

因此,如果我向客户端2发送一些内容到客户端2,则client2仅在他自己发送内容时才会收到(跳出recv函数)..我该如何解决这个问题?

 /* Thread*/
while (! stop_received) {
        nr_bytes_recv = recv(s, buffer, BUFFSIZE, 0);

        if(strncmp(buffer, "SEND", 4) == 0) {
            char *message = "Text asads \n";
            rv = send(users[0].s, message, strlen(message), 0);
            rv = send(users[1].s, message, strlen(message), 0);
            if (rv < 0) {
                perror("Error sending");
                exit(EXIT_FAILURE);
            }           
        }else{
            char *message = "Unknown command \n";
            rv = send(s, message, strlen(message), 0);
            if (rv < 0) {
                perror("Error sending");
                exit(EXIT_FAILURE);
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

c sockets blocking

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

种子随机数

我已经想了一段时间.是否有一种好的(快速)方法可以在播种时使数字随机变化?是否有一个很好的算法将一个数字转换成一个看似随机的数字.

一个小插图:

specialrand(1) = 8
specialrand(2) = 5
specialrand(3) = 2
specialrand(4) = 5
specialrand(5) = 1
specialrand(1) = 8
specialrand(4) = 5
specialrand(1) = 8
Run Code Online (Sandbox Code Playgroud)

如果输出也可能是巨大的数字,那将是非常好的.

作为一个注释:我不想填充数组并随机化数字,因为我希望能够提供巨大的数字差异,因为每当我重新启动程序时我想要相同的输出

javascript random math random-seed

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

按属性值排序结构数组

我在C中有一个任务,通过使用qsort对结构进行排序

struct user {
    enum SEX{m, f} sex;
    char name[32];
    char phonenr[32];

};
typedef struct user User;
Run Code Online (Sandbox Code Playgroud)

用户将存储在25个元素的数组中

但是我如何根据名字对它们进行排序呢?

c sorting attributes struct

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

在C中定义宏将无法正常工作

我正在尝试在C中创建一个宏,它可以判断char是否为十六进制数(0-9 az AZ)

#define _hex(x) (((x) >= "0" && (x) <= "9" )||( (x) >= "a" && (x) <= "z") || ((x) >= "A" && (x) <= "Z") ? "true" : "false")
Run Code Online (Sandbox Code Playgroud)

这是我提出的,但它不适用于这样的循环

char a;
     for(a = "a" ; a < "z";a++){
        printf("%s  => %s",a, _hex(a));
     }
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误

test.c:8: warning: assignment makes integer from pointer without a cast
test.c:8: warning: comparison between pointer and integer
test.c:9: warning: comparison between pointer and integer
test.c:9: warning: comparison between pointer and integer
test.c:9: …
Run Code Online (Sandbox Code Playgroud)

c macros

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

如何提高嵌套if和for语句的可读性

我有一个非常讨厌的代码我想重构但是因为它完全不可读.

 for region in feed['config']['regions']:
            if region['region'] == region_name:
                for instance_type in region['instanceTypes']:
                    if instance_type['type'] == instance_type_name:
                        for instance_size in instance_type['sizes']:
                            if instance_size['size'] == instance_size_name:
                                for platform in instance_size['valueColumns']:
                                    if platform['name'] == platform_name:
                                        prices = platform['prices']
                                        assert prices.keys() == ['USD']
                                        return decimal.Decimal(prices['USD'])
        assert False, "Failed to determine price for instance with region=%r, type=%r, size=%r, platform=%r" % \
                (region_name, instance_type_name, instance_size_name, platform_name)
Run Code Online (Sandbox Code Playgroud)

我已经考虑过在每个循环或if语句中使用函数,但这会给我一大堆函数.有更好的解决方案吗?

python refactoring for-loop

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