2013-02-08 82 views
1

我試圖像3X3464 5J3454我 d [A-Z] d正則表達式不起作用

匹配的數字,但下面的代碼是不是做對我來說。

If RegExmatch(A_LoopReadLine,"\d[A-Z]\d\d\d\d\") 

什麼簡單的事情我不知道正則表達式?

+1

好像關閉的引號被轉義('\「'),當它不應該。這是在你的實際代碼? – Wiseguy 2013-02-08 23:10:44

+0

雙引號最終會將反斜槓解釋爲神奇的東西嗎?你需要包含一個反斜槓和一個'd'的字符串,這可能最終成爲'\ n'是一個換行符,等等。 – tadman 2013-02-08 23:11:16

+0

這是實際的代碼 - 「不應該被轉義。」 – dwilbank 2013-02-08 23:17:18

回答

2

精確匹配將是:

\d{1}[A-Z]{1}\d{4} 

和{1}無需:

\d[A-Z]\d{4} 
+1

對不起,我誤解了你的評論,我以爲你在談論多個匹配({2},{3} ...),當然{1}是完全多餘的 – 2013-02-09 12:08:55

+0

感謝所有,它的工作原理! – dwilbank 2013-02-09 19:25:59

0

Rgex並不總是一致地讀取。不同的軟件以不同的方式解釋正則表達式。也許嘗試:

[0-9][A-Z][0-9]{4} 
0

我不知道是什麼的正則表達式品種由AutoHotkey的支持,但這部作品在正則表達式好友的默認品種,以滿足這兩個號碼將您發佈的字符串:

\d[A-Z]\d{4}\b 
0

這裏是您的代碼AHK

匹配:
\ d - >數字字符
\ d - >非數字字符
\ d {4} == \ d \ d \ d \ d

FoundPos := RegExMatch("3X1234", "\d\D\d{4}") 
msgbox,%FoundPos% 


Autohotkey RegEx

+0

以爲我不能使用\ D,因爲它必須匹配一個字母字符,沒有下劃線或破折號或其他符號的匹配。 – dwilbank 2013-02-09 19:28:52

相關問題