我有一个正则表达式公式,可用于查找数据中的特定模式。具体来说,它首先在“ {}”括号之间寻找字符,然后寻找“ p。”并在其后获取数字。我注意到,在某些情况下,如果方括号后不久没有“ p。”值,它将继续经过下一个方括号并在其后获取数字。
例如,这是我的示例数据:
{Hello}, [1234] (Test). This is sample data used to answer a question {Hello2} [Ch.8 p. 87 gives more information about...
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
\{(.*?)\}(.*?)p\. ([0-9]+)
Run Code Online (Sandbox Code Playgroud)
我希望它只返回此:
{Hello2} [Ch.8 p. 87
Run Code Online (Sandbox Code Playgroud)
但它返回以下内容:
{Hello}, [123:456] (Test). This is stample data used to answer a
question {Hello2} [Ch.8 p. 87
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以排除包含“ {”的字符串?
我制作了 dts 的副本,<linux>/board/arch/arm/boot/dts/imx28-evk.dts
以便与我的自定义板一起使用。我的自定义设备树已命名并在 Buildroot 配置中的树外自定义 DTS菜单条目 ( )imx28-custom.dts
中指向。BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
然而,u-boot 配置为使用现有的 MX28 板配置。构建内核后,我在文件夹中有imx28-custom.dtb
和。zImage
<buildroot>/output/images
当系统启动时,u-boot 告诉imx28-evk.dtb
没有找到。为什么imx28-custom.dtb
构建了但u-boot找不到?为什么 u-boot 找不到自己的设备树 ( imx28-evk.dtb
) 和我为内核定制的设备树?我认为这只BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
与内核有关。imx28-evk.dtb
如果 u-boot 尝试使用自己的设备树来实现此目的,如何将我的自定义设备树传递到内核?
为了确保与我正在开发的产品的二进制兼容性,我需要强制我的一些枚举由单个字节表示。
由于 C90 允许编译器选择适当的类型(6.7.2.2 枚举说明符),因此我想强制编译器选择 8 位。
我确实希望 GCC 属性允许这样做,但我在这里找不到任何东西。还有其他方法可以处理这个问题吗?(或者我错过的属性)
我正在为 Microblaze 和 C90 使用 GCC 4.6.4(我在这里也没有看到相关选项)。
C中的代码复制字符串
#include <stdio.h>
char *copyString(char *,char *);
void main()
{
char *first = (char *)calloc(sizeof(char),10);
char *second = (char *)calloc(sizeof(char),10);
printf("Enter first string:\t");
scanf("%s",first);
printf("%s",copyString(first,second));
}
char *copyString(char *a,char *b)
{
int i=0;
while(*(a+i)!='\0')
{
*(b+i)=*(a+i);
i++;
}
*(b+i)='\0';
return b;
}
Run Code Online (Sandbox Code Playgroud)
Case 1:
输入:你好
输出:你好
Case 2:
输入: Hello World
输出:你好
所以,我的问题是是否space
被认为是newline/null
?? 因为,在第二种情况下,它显示像这样..