我的輸入字符串格式可以是TIM0.VW0(它始終以TIM或CNT或ENC開頭,後面跟着數字,然後始終指向末尾的char或帶有數字的字符)。如何找出我的輸入字符串是否與正則表達式匹配?REGEX匹配問題
1
A
回答
0
你可以試試這個正則表達式:(TIM|CNT|ENC)\d+\.\w+\d
1
匹配它:
^(TIM|CNT|ENC)[0-9]+\.[A-Z]+[0-9]$
4
像這樣的事情可以做:
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String regexp = "(TIM|CNT|ENC)\\d+\\.\\p{Alpha}+\\d";
for (String test : Arrays.asList("TIM0.VW0", "TIM0.VW5", "TIM0.0",
"TIM99.A5", "CNT0VW0", "ABC0.VW0",
"-TIM0.VW0", "TIM9.8x", "ENC0.55"))
System.out.printf("%-10s: %s%n", test, test.matches(regexp));
}
}
輸出:
TIM0.VW0 : true
TIM0.VW5 : true
TIM0.0 : false
TIM99.A5 : true
CNT0VW0 : false
ABC0.VW0 : false
-TIM0.VW0 : false
TIM9.8x : false
ENC0.55 : false
+0
如果點之後的字符總是大寫,則可能需要使用\ p {Upper}(或[A-Z])而不是\ p {Alpha}。 – 2011-02-24 08:55:48
+0
是的。好點子。 – aioobe 2011-02-24 09:13:03
0
你應該合作使用這個:
^(TIM|ENC|CNT)\d+\.\w+\d+$
相關問題
- 1. Regex Go不匹配
- 2. 多個regEx匹配
- 3. REGEX匹配多行
- 4. Quick Python Regex問題:匹配否定字符集
- 5. php REGEX匹配自定義網址結構問題
- 6. Boost :: regex問題,匹配一個HTML span元素
- 7. While-Loop BASH-Regex不匹配
- 8. REGEX:無條件匹配
- 9. RegEx匹配得太早
- 10. Mysql REGEX匹配查詢
- 11. Ruby RegEx之間匹配。和:
- 12. REGEX:如何匹配多行?
- 13. Regex類不匹配 '(' ')' 或 '$'
- 14. 如何匹配 '{{{' 使用RegEx
- 15. F#匹配問題
- 16. XSLT匹配問題
- 17. Java RegEx問題?
- 18. regex mysql問題
- 19. HTMLPurifier iFrame/regex問題
- 20. REGEX範圍問題
- 21. Perl模式匹配問題
- 22. 匹配值的問題
- 23. URL reg-ex匹配問題
- 24. 穩定匹配問題
- 25. perl多行匹配問題
- 26. MySQL的匹配問題
- 27. 字符串匹配問題?
- 28. 字符串匹配問題
- 29. 字符串匹配問題
- 30. SOLR精確匹配問題
如果使用'String.matches'你不需要'^'和$''。 – aioobe 2011-02-24 08:48:59
@aioobe - 這就是爲什麼你有我的投票 - 你有一個工作的Java示例。 – Kobi 2011-02-24 08:50:12