任何人都可以推荐符合以下规则的正则表达式:
我想要匹配的字符串看起来像这样
LONDON 10 Downing St, London
或这个
NEW YORK 2859 Broadway, New York, NY 10025
当我通过每一行时,我希望能够匹配伦敦和纽约这两个词.
PS我在Java中这样做
^\p{Lu} [\p{Lu} ]*\b因此,你的正则表达式是
^[\p{Lu} ]*\b
Run Code Online (Sandbox Code Playgroud)
不要忘记加倍反斜杠以符合Java的字符串转义规则:
在Java 7中:
Pattern regex = Pattern.compile("^[\\p{Lu} ]*\\b", Pattern.UNICODE_CHARACTER_CLASS);
Run Code Online (Sandbox Code Playgroud)
在Java 6及以下版本中:
Pattern regex = Pattern.compile("^[\\p{Lu} ]*(?<=\p{Lu})");
Run Code Online (Sandbox Code Playgroud)