【发布时间】:2014-07-22 20:59:57
【问题描述】:
我有一个要加载的脚本文件,但我似乎无法让我的正则表达式工作。我的正则表达式有点生疏,但我很惊讶我的正则表达式不起作用。
基本上,每一行(除了空白行和以注释(“//”)开头的行除外)应采用以下格式:
[decimal number],[hex number],[hex number],[any string of characters]
因此,例如,每个非空白行或完全注释的行都应如下所示:
01, 0x00100204, 0x00000000, some string goes here
我的匹配模式如下
"[0-9]+[\\s]+,0[xX][0-9a-fA-F]+[\\s]+,0[xX][0-9a-fA-F]+[\\s]+,"
我省略了尾部(字符串所在的位置),因为根据我对正则表达式的理解,只要它可以找到与匹配模式匹配的子字符串,它就会匹配。我在这里做出了正确的假设吗?
----编辑 -----
我还想指出,我不在乎数字末尾和下一个逗号之间有多少空格,因此是 [\\s]+。
【问题讨论】:
-
格式和示例不匹配。格式中没有空格,但在示例中
,之后有一个空格,并且您的正则表达式正在搜索,之前的空格 -
不清楚你想要什么。您只想知道一行是否与您的正则表达式匹配,还是您想捕捉尾随字符串?请更具体地说明您想要获得的内容。
-
您将需要使用
*而不是+来计算空间中的“不关心”,因为+将匹配一个或多个,*是零或多个 -
您可以通过在线测试人员检查您的正则表达式。例如,请参阅 regex101.com 或 regexpal.com。
-
感谢瑞恩的提示,我不知道那个