我对正则表达式和东西不太熟悉,所以我需要帮助。我必须检查输入值是否与特定的正则表达式格式匹配。这是我想要使用的格式,25D8H15M
。这里的D
表示H
表示小时数,M
表示分钟数。我需要正则表达式来检查字符串。由于检查一个字符串是否与特定的正则表达式匹配
回答
这里的编写正则表达式的最短途径:
if (str.matches("(?!$)(\\d+D)?(\\d\\d?H)?(\\d\\d?M)?"))
// format is correct
这使得每个部分是可选,但在开始时对输入结束的负面预测意味着必须有somethi那里有。
注意如何与Java中,你不必码输入的开始(^
)和结束($
),因为String.matches()
必须整个匹配字符串,所以开始和结束暗示。
但是,这只是一个基本的正则表达式,因为99D99H99M
会通过。用于有效格式正则表达式是:
if (str.matches("(?!$)(\\d+D)?([0-5]?\\dH)?([0-5]?\\dM)?"))
// format is correct
这限制小时和分钟至0-59
,允许一个可选的领先的值为零的范围0-9
。
谢谢,那正是我需要的。 –
简化正则表达式可以是:
^\\d{1,2}D\\d{1,2}H\\d{1,2}M$
谢谢@anubhava的答案,但我有一个问题,大括号里的数字是什么意思? –
'\\ d {1,2}'表示匹配1或2位数字,这些数字表示匹配模式数量的下限和上限。 – anubhava
- 1. 检查字符串是否包含正则表达式匹配
- 2. 如何查看特定字符串是否与正则表达式匹配?
- 3. 使用模式(不是字符串)检查另一个字符串是否与正则表达式匹配
- 4. 检查表达式是否与正则表达式匹配
- 5. 正则表达式匹配特定的HTML字符串与Python
- 6. 检查字符串是否与Bash脚本中的正则表达式匹配
- 7. 如何检查字符串是否与perl中的正则表达式匹配?
- 8. 正则表达式匹配特定字符串的字符>
- 9. 如何检查子字符串是否与正则表达式匹配?
- 10. elisp函数检查测试字符串是否与正则表达式匹配?
- 11. 正则表达式来检查字符是否匹配字符串
- 12. 正则表达式:与两个特定字符匹配的字符串
- 13. objective-c:确定正则表达式是否匹配字符串
- 14. 正则表达式匹配一个字符串与特定的开始/结束
- 15. 正则表达式匹配特定的字符串或数字
- 16. 正则表达式匹配字符串与另一个字符串Patten是/ DIG /?
- 17. 检查字符串是否匹配正则表达式模式Swift 2.2
- 18. 检查字符串是否与特定格式匹配
- 19. unix:如何判断一个字符串是否与正则表达式匹配
- 20. Python正则表达式检查是否包含特定字符
- 21. 匹配一个JS字符串与正则表达式
- 22. 正则表达式匹配一个字符串与星号
- 23. 最后一个字符串与正则表达式不匹配
- 24. 正则表达式匹配的特定字符串
- 25. Swift正则表达式:字符串是否匹配模式?
- 26. 正则表达式来检查一个字符串是否是一个数字
- 27. 正则表达式正则表达式匹配字符串
- 28. 正则表达式匹配字符串
- 29. 正则表达式匹配字符串
- 30. 正则表达式匹配字符串
我不明白。为什么downvote!这是一个具有建设性的问题 –
可能会被低估(不是我),因为你没有努力尝试解决方案,甚至没有描述其中的关键点。 – Bohemian
@Bohemian,我需要做的是:检查给定的字符串是否有效,有效值是:1D - 2D15H - 5H33M - 22D30M - 15D12H45M等 –