我有这个字符串:
Miami 25 JOHN H. DOE 3059715648 Coral Gables
我想使用正则表达式找到以下空格:
Miami 25 [SPACE] JOHN H. DOE 3059715648 [SPACE] Coral Gables
我想忽略John H. Doe之间的所有其他空间
谢谢!
答案 0 :(得分:2)
答案 1 :(得分:1)
你可以使用lookarounds在给定的字符串中执行此操作,但不确定这背后的逻辑。
(?<=\d)\s+(?=\D)
这断言在字符串中的当前位置,前面是数字,如果成功的空格字符匹配,则后面是任何不是数字的字符。
答案 2 :(得分:0)
(.*?(\\d+)(\\s+)(.*))
Java代码示例:
Pattern p = Pattern.compile("(.*?(\\d+)(\\s+)(.*))");
Matcher m = p.matcher("Miami 25 JOHN H. DOE 3059715648 Coral Gables");
if(m.matches()) {
//m.group(2) = 25
//m.group(4) = JOHN H. DOE 3059715648 Coral Gables
}