我想寫一個正則表達式來匹配一個字符串,該字符串具有第一個10個字符的大寫字母數字,然後是一個空格和一些其他文本或一個字符串有第一個10個字母數字字符,$
確實'nt似乎工作。正則表達式模式匹配不正確java
我寫了這個[A-Z0-9]{10}[\s$].*
這似乎適用於具有10個字符的字符串,然後是一個空格和一些東西,但不適用於字母數字後結束的字符串。
E.g.
"MNA345QWRE ABC" gets matched
"MNA345QWRE" not matched
我想寫一個正則表達式來匹配一個字符串,該字符串具有第一個10個字符的大寫字母數字,然後是一個空格和一些其他文本或一個字符串有第一個10個字母數字字符,$
確實'nt似乎工作。正則表達式模式匹配不正確java
我寫了這個[A-Z0-9]{10}[\s$].*
這似乎適用於具有10個字符的字符串,然後是一個空格和一些東西,但不適用於字母數字後結束的字符串。
E.g.
"MNA345QWRE ABC" gets matched
"MNA345QWRE" not matched
在[...]
的$
符號字面上處理。交替使用,要求無論是「空格,然後通過一些」或「行結束」:
[A-Z0-9]{10}(?:\s.*|$)
你不需要尖括號的空間,請嘗試以下:
System.out.println("MNA345QWRE ABC".matches("[A-Z0-9]{10}(\\s|$).*"));
System.out.println("MNA345QWRE_ABC".matches("[A-Z0-9]{10}(\\s|$)*"));
System.out.println("MNA345QWRE".matches("[A-Z0-9]{10}(\\s|$).*"));
'MNA345QWRE_ABC'sill [matches](https://regex101.com/r/UlyXeh/2),它不應該。 –
更新了答案.. –
''''''''後'''是無意義的 –