我有一段文字,想找到所有的前綴:前綴RM-EC + 3位數字。例如RM-EC001,RM-EC099或RM-EC100。但是不應該找到RM-EC99。RM-EC001的正則表達式(在sql-server中)
謝謝。
我有一段文字,想找到所有的前綴:前綴RM-EC + 3位數字。例如RM-EC001,RM-EC099或RM-EC100。但是不應該找到RM-EC99。RM-EC001的正則表達式(在sql-server中)
謝謝。
試試這個:
RM\-EC\d{3}
當你使用SQL Server時,我才發現你不能使用量詞:
CREATE TABLE #test (value varchar(10))
INSERT INTO #test VALUES ('RM-EC001')
INSERT INTO #test VALUES ('RM-EC099')
INSERT INTO #test VALUES ('RM-EC100')
INSERT INTO #test VALUES ('RM-EC99')
SELECT * FROM #test WHERE value LIKE 'RM-EC[0-9][0-9][0-9]'
您可能需要前導和尾隨通配符卡'以及'%RM-EC [0-9] [0-9] [0-9]%'',除非它必須完全匹配。 – 2010-09-27 13:41:35
好點@馬丁 – 2010-09-27 13:42:38
正則表達式應該是這樣的:
RM-EC[0-9]{3}
根據正則表達式實現,還可以使用\d
而不是[0-9]
。
我知道你問一個正則表達式,但因爲你還標記了一個問題,SQL Server中,我會指出,這也將工作:
WHERE YourColumn LIKE 'RM-EC[0-9][0-9][0-9]'
什麼語言/正則表達式庫您使用? – Gumbo 2010-09-27 13:31:57
我想使用SQL Server中RegexLib庫中的RegexMatch:http://justgeeks.blogspot.com/2008/08/adding-regular-expressions-regex-to-sql.html – 2010-09-27 13:35:22