我面临一个问题,即在[]字符集表达式中表示单个空格.我最终使用了这样的东西
([a-zA-Z0-9]|\x20)+
我认为这不是很优雅
更新:我现在知道我的正则表达式出了什么问题.我用过这样的东西,但没用
[A-Za-z0-9 /.,’:!?$%()-]
但是当我把空间移动到9之后就像这样
[A-Za-z0-9 /.,':!?$%()-]+
它很有效,很奇怪.我正在尝试使用在线正则表达式测试仪RegExr.
Update2:我现在发现问题是 – 里面的正则表达式用来表示[]中的一个范围所以在它之前和之后的任何东西都有不同的意义而不仅仅是一个简单的字符
[a-zA-Z0-9 ]
将为角色类添加一个空格.我猜你已经知道了,并且你想确保你的字符串中只有一个空格.在这种情况下,您需要额外的前瞻:
^(?!.* )[a-zA-Z0-9 ]*$
匹配包含字母数字和空格的字符串,但只包含单个空格.