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