2012-05-03 22 views
1

我需要從這些字符串中提取RXXX,LXXX和CXXX
TCK; PCIEX16.A5 R2.1 | TCK
TCK; R2.1 | TCKVB6中的正則表達式

這裏是VB6

myRegExp.Pattern = "\s[RLC][0-9]{1,5}.\.1" 

我的正則表達式的代碼,但是當我

Set myMatches = myRegExp.Execute(" TCK; R2.1 |TCK") 

myMatches.count是0

,並在該字符串TCK; R20.1 | TCK

myRegExp.Pattern = "\s[RLC][0-9]{1,5}.\.1" 

正確匹配R20.1,我應該如何正確地實施這一使用正則表達式

謝謝

回答

1

您正則表達式模式是很好,除了一個額外的點。將RegEx格式更改爲

myRegExp.Pattern = "\s[RLC][0-9]{1,5}\.1" 
+0

謝謝你,現在它的工作 – Aries

+0

@Aries:不客氣! – Cylian

1

單點匹配任何字符。所以,你的正則表達式上R2.1因爲

  • [RLC][0-9]{1,5}比賽R2
  • 點匹配.
  • 字面點\.不匹配1失敗。

這是R20.1沒有問題,但:

  • [RLC][0-9]{1,5}比賽R2
  • 點匹配0
  • 字面點\.比賽.
  • 字面1比賽1

只需卸下轉義點:

myRegExp.Pattern = "\s[RLC][0-9]{1,5}\.1" 
+0

謝謝你的解釋,現在我明白了 – Aries

相關問題