1
我正在尋找一個數字和字母組合的perl正則表達式,允許空格和「/」和「 - 」字符作爲可能的分隔符。一個數字/字母組合的Perl正則表達式
基本上,我希望它匹配包含的字母和數字和/或分離器的組合,這樣的表達式:
ATG567A
ATG56-7A
ATG56/7A
ATG56 7A
但不是這樣的:
ATG-A < ----字母和/或分離器只
567/7 < ----只包含數字和/或分隔符
我正在尋找一個數字和字母組合的perl正則表達式,允許空格和「/」和「 - 」字符作爲可能的分隔符。一個數字/字母組合的Perl正則表達式
基本上,我希望它匹配包含的字母和數字和/或分離器的組合,這樣的表達式:
ATG567A
ATG56-7A
ATG56/7A
ATG56 7A
但不是這樣的:
ATG-A < ----字母和/或分離器只
567/7 < ----只包含數字和/或分隔符
如果您嘗試驗證字符串,則將其作爲多重檢查更簡單。
m{^[A-Za-z0-9 /-]*\z} && /[A-Za-z]/ && /[0-9]/
這些可以合併成一個模式,但我建議反對它。
m{^(?=.*[A-Za-z])(?=.*[0-9])[A-Za-z0-9 /-]*\z}s
在另一方面,如果你想從字符串中提取,則需要以下內容:
m{
[ /-]*+
(?: [A-Za-z] [A-Za-z /-]*+ [0-9]
| [0-9] [0-9 /-]*+ [A-Za-z]
)
[A-Za-z0-9 /-]*+
}x
('* +'與'*'相同,除了防止無用的回溯。) – ikegami
'的perldoc perlretut'可能會有所幫助。 – ThisSuitIsBlackNot
'm! ([ -/A-Z0-9] +)!x' –
**嘗試自己寫一些**,然後如果它不起作用,**特別告訴我們你做了什麼**,以便我們可以幫助你。你開始吧,我們幫忙。我們不會爲你寫信。向我們展示您嘗試過的實際代碼,然後我們可以從那裏幫助您。如果你只是先嚐試一下,你很可能會接近答案。 –