java - 地址搜索排除特殊字符

标签 java

地址只能包含字母、数字、% 和一个破折号 (-),不允许使用所有其他特殊字符。单破折号 (-) 只能位于 2 个数字之间。 % 符号可以位于地址中的任何位置,并且可以多次出现。

Valid:   1-10 Downing Street
Valid:   Downing Street 1-10
Valid:   Downing Street
Valid:   Downing%
Valid:   %Downing Street
Valid:   %Dow%ng Street
Invalid: -10 Downing Street

我正在使用 Java Pattern 和 Matcher 来验证地址。非常感谢任何帮助。

最佳答案

试试这个正则表达式:

"[%\\w][%\\w ]+( \\d+-?\\d+)?|(\\d+-?\\d+ )?[%\\w][%\\w ]+"

关于java - 地址搜索排除特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13647173/

相关文章:

java - 使用来自用户的数据逐渐填充数组

java - 从 Java 中的 Oracle 过程获取异常

java - ThreadPoolExecutor 处理 Grails 中的高内存任务?

java - volatile 会保护我免受所有幕后多线程危害吗?

java - 在 Java 中继承泛型接口(interface)

java - 如何扩展 ArrayAdapter 以打印已解析的 JSON?

java - "Hive Runtime Error while processing row"(仅在 MR 上)

java - Eclipse 避免 jmockit 换行

java - 在Java中,我的MouseMotionListener和MouseListener正在检测点击,但不检测移动

java - Nougat 7.0.1 上的屏幕方向问题