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