如何匹配单词和空字符串

时间:2014-05-20 15:08:20

标签: regex null

正则表达式的新手! :d

我必须匹配字符串" SOMETHING HERE"在这个例子中:

DATA [SOMETHING HERE]

SOMETHINGHERE可以为NULL(DATA []),我也必须匹配它。 SOMETHINGHERE包括任何东西,包括回车和换行符

1 个答案:

答案 0 :(得分:0)

你可能正在寻找DATA\[(.*)\],在哪里 \[转义[个字符,.是任意字符,.*表示此处可以是零个或多个字符。

修改

我没有能够测试它,我确信它会起作用,直到我注意到this

  

该点匹配单个字符,而不关心该字符是什么。换行符是唯一的例外。在本教程中讨论的所有正则表达式中,默认情况下,点与换行符不匹配。

     

这种例外主要是出于历史原因。使用正则表达式的第一个工具是基于行的。他们会逐行读取文件,并将正则表达式分别应用于每一行。结果是,使用这些工具,字符串永远不会包含换行符,因此点永远不会匹配它们。

所以.匹配几乎所有字符(不包括CR和LF)。所以你可以用这个:

DATA\[([^a]*[a]*)*\]

确切地说:匹配字符,而不是&#39; a&#39;或者&#39; <#39; (你可以在这里使用任何字符)