Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 尝试将仅包含空格的字符串与正则表达式匹配_Regex_Vba - Fatal编程技术网

Regex 尝试将仅包含空格的字符串与正则表达式匹配

Regex 尝试将仅包含空格的字符串与正则表达式匹配,regex,vba,Regex,Vba,我有一个转换成ascii码的字符串 例如:“”(三个空格)->“323232” 我希望正则表达式仅当字符串只有空格时才与字符串完全匹配。我没完没了地尝试,但运气不好。如果存在除空格以外的其他字符,则正则表达式将不匹配 例如:“3264”将不匹配,因为其中包含64(A)。您可以重复将某个字符与*匹配,并通过将其括在括号中将其应用于字符序列。因此,您需要类似于(32)*的内容 如果您使用的是“搜索”而不是“匹配”(取决于您的语言、如何使用正则表达式等),那么您可能需要将正则表达式锚定到字符串的开头和

我有一个转换成ascii码的字符串

例如:“
(三个空格)->“323232”

我希望正则表达式仅当字符串只有空格时才与字符串完全匹配。我没完没了地尝试,但运气不好。如果存在除空格以外的其他字符,则正则表达式将不匹配


例如:“3264”将不匹配,因为其中包含64(A)。

您可以重复将某个字符与
*
匹配,并通过将其括在括号中将其应用于字符序列。因此,您需要类似于
(32)*
的内容


如果您使用的是“搜索”而不是“匹配”(取决于您的语言、如何使用正则表达式等),那么您可能需要将正则表达式锚定到字符串的开头和结尾。类似于:
^(32)*$
。(
^
通常表示“字符串的开始”,而
$
通常表示“字符串的结束”。

然后您可以执行类似的操作。下面是psedo代码

if(str.replace(/32/g,"") == ""){
   // match
}

它所做的,基本上是删除所有32,并检查结果字符串是否为空字符串,这表明它在ascii代码中充满了空格。

323232
是与323232匹配的正则表达式:/
(32)*
可能是您想要的。该字符串可能包含其他字母。如果字符串中只有空格,我希望匹配整个字符串,否则,将没有匹配项。这样就不需要正则表达式。你在用什么语言?@marounnaroun以643252为例。使用(32)*,它将匹配32,而我所需的输出不匹配,因为字符串中存在与32不同的内容。我使用的是Visual basic for appsDoesn Not do work bro。我已经编辑了这个问题。希望现在干净了,不行,兄弟。即使字符串包含不同的字符(非空格),也与空格匹配。我想匹配整个字符串,但它只是空格。@Amejel我假设您使用的函数与整个字符串匹配,但如果您不匹配,我又添加了一个建议。很好。锚的东西起作用了。非常感谢。你能给我解释一下regex中的锚是什么吗?@Amejel我试着回答上面的问题;^表示“字符串开始”,而$表示“字符串结束”。这只是一个比喻,说这锚(如“附加”或“锁定”)匹配这些地方。