java - 正则表达式格式的想法

标签 java android

谁能帮忙。 我正在尝试找出一些数据的 Regex 格式,但我正在为它的复杂性而苦苦挣扎。

我想以格式格式化一些 Latitude EditText

“N5123.5”

第一个数字必须是 N 或 S(或 n 或 s) 必须正好有 4 个数字,正好有 1 个句号 然后恰好是一位数字。因此,长度必须恰好为 7 个字符。 我已经尝试了多种方法,尽管我相信它是

static final Pattern LAT_PATTERN = Pattern.compile("^[NSns]{1}[0-9]{4}[.]{1}[0-9]{1}");

但是这不起作用。 任何专家都可以提供帮助。

最佳答案

可以删除那些 {1}(尽管它们不会影响匹配)。但是您也需要将正则表达式锚定在字符串的末尾,或者超过 7 个字符的字符串也可以(部分)匹配:

Pattern.compile("^[NSns][0-9]{4}[.][0-9]$");

通常,点写成 \.,而不是 [.],但两者都可以,特别是在需要双反斜杠的 Java 中:

Pattern.compile("^[NSns][0-9]{4}\\.[0-9]$");

关于java - 正则表达式格式的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8149466/

相关文章:

java - 对 RESTful API 的 POST 请求始终会导致 HTTP 400 语法不正确的错误消息

java - MXMLC Ant 任务导致 java.lang.OutOFMemoryError

java - Android - Java - MediaStore - 如何使用多个条件的选择

java - 如何在 android espresso 测试中向下滚动屏幕?我需要验证屏幕上的文本

android - 如果在非 Activity 类中需要,Android 上的弹出窗口如何工作?

安卓.view.InflateException : Binary XML file line #6: Error inflating class <unknown> while initializing progress bar

java - 有什么简单的方法来处理这个java游戏中的ConcurrentModificationException吗?

java - Activity 运行时是否有事件要触发?

java - 找到浪费内存的类

java - 在 cli 中运行 gradlew build 时遇到问题