我是新來的正則表達式。我需要驗證一個字符串,但是當我使用我當前的嘗試時,它總是返回false。複雜字符串的正則表達式
規則:
- 文本匹配像 「多邊形(())」
- 號碼匹配像XY,其中x和y可以是任何雙數
- 儘可能多的XY對,通過分離逗號。
如:
PolyGoN((
-74.0075783459999 40.710775696,
-74.007375926 40.710655064,
-74.0074640719999 40.7108592490001,
-74.0075783459999 40.710775696))
這裏是我使用的代碼:
String inputString = "POLYGON((-74.0075783459999 40.710775696, -74.007375926 40.710655064, -74.0072836009999 40.710720973, -74.0075783459999 40.710775696))";
String regexp = "polygon[\\((][(\\-?\\d+(\\.\\d+)?)\\s*(\\-?\\d+(\\.\\d+)?)]*[\\))]";
Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputString);
boolean result = matcher.matches();
你似乎並不瞭解字符類的意思。 –
實際輸入中是否有新行? –