Regex 正则表达式-仅匹配字母数字和单词之间的单个空格
我不熟悉正则表达式。。。 有人问我一个正则表达式,它可以接受字母数字,多几个字符,单词之间只有一个空格 例如: 这应符合:Regex 正则表达式-仅匹配字母数字和单词之间的单个空格,regex,Regex,我不熟悉正则表达式。。。 有人问我一个正则表达式,它可以接受字母数字,多几个字符,单词之间只有一个空格 例如: 这应符合: "Hello world" 这不应该: "Hello world" 有什么想法吗 这是我的表情: [\w':''.'')''(''\[''\]''{''}''-''_']+$ 我已经试过了\s?(空格字符一次或永远不会-对吗?)但我没有让它工作。使用Oniguruma regex语法,您可以执行以下操作: ^[\w\.:\(\)\[\]{}\-_](?: ?[\w\
"Hello world"
这不应该:
"Hello world"
有什么想法吗
这是我的表情:
[\w':''.'')''(''\[''\]''{''}''-''_']+$
我已经试过了\s?(空格字符一次或永远不会-对吗?)但我没有让它工作。使用Oniguruma regex语法,您可以执行以下操作:
^[\w\.:\(\)\[\]{}\-_](?: ?[\w\.:\(\)\[\]{}\-_])*$
假设“其他字符”为:()[]{}-_
此正则表达式将匹配一个字符串,该字符串必须以单词字符或其他允许的字符开头和结尾,并且一行中不能有多个空格
如果使用的是x
标志(忽略正则表达式中的空白),则需要执行以下操作:
^[\w\.:\(\)\[\]{}\-_](?:\ ?[\w\.:\(\)\[\]{}\-_])*$
唯一的区别是空格前面的\
。那么:
^[\w\.:\(\)\[\]{}\-]+( [\w\.:\(\)\[\]{}\-]+)*$
匹配项:
:行以1个或多个可接受的字符开头(下划线包含在\w中)^[\w\:\(\)\[\]{}-]+
:查看是否包含单个分隔符和1个或多个可接受的字符([\w\:\(\)\[\]{}-]+)
:重复单个分隔符和单词0或更多次*$
:真你好(太空)世界
:FALSEHello(space)(space)World
:真你好
:FALSE你好(空格)
:FALSEHello(tab)World
\s时的问题?
可能是让您绊倒的原因。非常感谢!这就解决了我的问题!我只把“?”改成了“\s?”,效果很好:“^(?::\s?[\w\:()[[[{}-\u])+$”我用空格代替了\s
,因为听起来你不想匹配制表符、换行符和其他各种各样的空格\s
将匹配任何被视为空白的内容,而使用空格字符只会专门匹配空格。Emily,我想这是因为我使用的程序。我猜他们以不同的方式解释表达式……可能是使用了x
标志,它忽略了正则表达式中的空白。我已经用x
标志更新了答案。是的!就是这样!谢谢!很抱歉,我不能给你评分,上面说我还没有15分。Joel,你能告诉我你在哪里测试这个吗?:我正在Expresso和Rad软件正则表达式设计器上尝试。。。每个程序都有不同的结果:我相信它使用了java正则表达式引擎。这比Emily的正则表达式要有效得多。