我是Java中正则表达式的新手,我需要验证字符串是否只包含字母数字字符,逗号,撇号和句点(句点).其他任何东西都应该等于假.
任何人都可以提供任何指示吗?
我现在有这个,我相信字符串中的每个字符都有字母数字:
Pattern p = Pattern.compile("^[a-zA-Z0-9_\\s]{1," + s.length() + "}");
Run Code Online (Sandbox Code Playgroud)
谢谢
奥尔巴尼卡克斯顿先生
aio*_*obe 10
我是Java中正则表达式的新手,我需要验证字符串是否只包含字母数字字符,逗号,撇号和句点(句点).
我建议你使用\p{Alnum}该类来匹配字母数字字符:
Pattern p = Pattern.compile("[\\p{Alnum},.']*");
Run Code Online (Sandbox Code Playgroud)
(我注意到你包含\s在你当前的模式中.如果你也想允许空格,只需添加\s字符类.)
来自以下文件Pattern:
[...]
\p{Alnum}字母数字字符:[\p{Alpha}\p{Digit}][...]
您不需要包含^和{1, ...}.只需使用类似Matcher.matches或String.matches匹配完整模式的方法.
另请注意,您不需要.在字符类([... ])中进行转义.
| 归档时间: |
|
| 查看次数: |
12816 次 |
| 最近记录: |