带有空格和前面零的正则表达式

Regex with whitespaces and preceding zeros

我想用 SAS 中的正则表达式匹配字符串 1111 前面可以有零个或多个 0 and/or 空格。不允许使用任何其他字符。 同样,如果有的话,在 11.

之后应该只有空格

示例:

Match:
0000011  
11
11<space><space>

No Match:
115
400011

到目前为止,我正在使用 /^[\s|0+]11\s*$/ 。它有效,但我想知道是否有更直接的方法?

您可以使用这个简化的正则表达式:

/^[\s0]*11\s*$/

您的正则表达式似乎没问题。我不习惯 SAS 的正则表达式,但看起来你只允许一个 space 并且在 11.

之前至少需要一个 0

以下内容也应该有效,在 11 之前允许有多个或没有 space 和零(零和规格可以混合),并且禁止除 space 之后的任何其他字符。

/^[\s|0]*11\s*$/

我不确定您是否真的可以在您的用例中做得更好。