【发布时间】:2018-12-06 11:49:53
【问题描述】:
我有一个正则表达式,它允许一个大写字母、一个小写字母、8-16 个字符和大多数特殊字符,包括空格。我想在正则表达式中添加允许空间。
我试过了:
我的正则表达式如下:
(?=^.{8,16}$)(?=.*[\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\>\=\?\@\[\]\{\}\\\\\^\_\`\~\|])(?=.*[a-z])(?=.*[A-Z])(?!.*\s)[0-9a-zA-Z\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\>\=\?\@\[\]\{\}\\\\\^\_\`\~\|]]*$
我只想在其中添加空间。我试过 \s 和 [ ]? 但没有任何效果。
我已经检查了https://regex101.com/ 上的regex
任何建议将不胜感激。
【问题讨论】:
-
@Goku 没有什么对我有用我已经添加了这种类型的空间并在给定的站点上检查了..但没有工作
-
@Goku 不工作 (?=^.{8,16}$)(?=.*[\!\"\#\$\%\&\'()*\+\ ,\-\.\/\:\;\\=\?\@[]\{\}\\\\\^_`\~\|])([\w ]+)(? =.*[a-z])(?=.*[A-Z])(?!.*\s)[0-9a-zA-Z\w\!\"\#\$\%\&\'() *\+\,\-\.\/\:\;\\=\?\@[]\{\}\\\\\^_`\~\|]*$
-
嗨@Annie我认为你的问题是“(?!。* \ s)”,它转换为“无空格”并包含空格。但我不能肯定地说,因为我仍然没有得到你想要完成的确切内容并且没有有效的测试字符串。只有一个提示:您可以保存您的正则表达式,包括。在 regex101.com 上输入示例并通过链接分享。
标签: java android regex matcher