2013-01-09 76 views
1

如何爲除一個單詞之外的任何字符定義正則表達式組?正則表達式除了一個單詞之外的任何字符

我知道已經有問了幾個類似的問題,但找不到做一個複雜的正則表達式中的方式:

我正則表達式是這樣的:

...(?<Subfield7>.{1,16})(?<Subfield8>//.{1,16})? 

凡Subfield7應該符合什麼除了兩個正斜槓,因爲它們是下一個子域的分隔符。

  • ... abcdefghijklmnop // abcdefghijklmnop - >子字段7:ABCDE ...,子字段8:// ... ABCDE
  • ... 1.3,5-7 9/11 // abcdefghijklmnop - >子字段7:1.3,5-7 9/11,子字段8:// ... ABCDE
  • ... // // ABC 123 // 456 - >子場7 :12345,Subfield 8:// abc // 123 // 456

編輯:
我的目標是通過定義子字段來標識子7和8,子凡有兩個領先的斜線8點啓動,但子7可能還包含(單)slahses。子字段7和8的長度是可變的。

回答

0

如果不想//任何非空字符串,你可以使用

"(?!.*//).{1,16}" 

這符合/A/和不匹配//一個//a // b

這是你想要的嗎?

+0

嗨。非常感謝。這用作一個單一的正則表達式。但是當下一個模式((? //.{1,16})?)時,正則表達式會失敗。這是因爲通過定義,子字段8以兩個斜槓開始。 –

相關問題